Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 41 additions & 0 deletions tools/contrib/abm_raw.ncl
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
; Script written by Fang Li and emailed to slevis on 2025/07/24
; Script for generating the abm (peak crop-fire month) raw dataset
; /glade/campaign/cesm/cesmdata/cseg/inputdata/lnd/clm2/rawdata/mksrf_abm_0.5x0.5_simyr2000.c250715.nc
; starting from preexisting raw dataset
; /glade/campaign/cesm/cesmdata/cseg/inputdata/lnd/clm2/rawdata/mksrf_abm_0.5x0.5_simyr2000.c240821.nc

f1=addfile("/glade/campaign/cesm/cesmdata/inputdata/lnd/clm2/rawdata/mksrf_abm_0.5x0.5_simyr2000.c240821.nc","r")
abm1=f1->abm
lon1=f1->lon
lat1=f1->lat

fils=systemfunc("ls /glade/work/fangli/obs/GFED5/crop05/BA*.nc")
fs=addfiles(fils,"r")
ListSetType(fs,"join")
baf=fs[:]->baf
bafm=dim_avg_n(baf,0)

f=addfile("fpc_crop05.nc","r") ; MCD12C1 12+14
fpc_crop=f->fpc_crop

fw=addfile("fpc_water05.nc","r")
fpc_water=fw->fpc_water

abm=abm1
do ilat=0, 359
do ilon=0, 719
if(fpc_crop(ilat,ilon).gt.0.005 .and. fpc_water(ilat,ilon).lt.0.5)then
if(sum(bafm(:,ilat,ilon)).gt.0.0)then
abm(ilat,ilon)=maxind(bafm(:,ilat,ilon))+1
else
abm(ilat,ilon)=13
end if
else
abm(ilat,ilon)=14
end if
end do
end do

fout1=addfile("abm05-raw.nc","c")
fout1->abm=abm

44 changes: 44 additions & 0 deletions tools/contrib/popden.ncl
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
; Script written by Fang Li and emailed to slevis on 2025/07/24
; Script for generating the hdm (aka popdens or population density) stream file
; /glade/campaign/cesm/cesmdata/cseg/inputdata/lnd/clm2/firedata/clmforc.Li_2025_CMIP7_hdm_0.5x0.5_simyr1850-2100_c250717.nc
; starting from preexisting file
; /glade/campaign/cesm/cesmdata/cseg/inputdata/lnd/clm2/firedata/clmforc.Li_2018_SSP3_CMIP6_hdm_0.5x0.5_AVHRR_simyr1850-2100_c181205.nc
; and raw data in /glade/work/fangli/hd/TRENDY/pop-dens_input4MIPs_population_CMIP_PIK-CMIP-1-0-0_gr_1850-2025.nc
; Is the latter the same as /glade/campaign/cesm/cesmdata/input4MIPs_raw/input4MIPs/CMIP7/CMIP/PIK/PIK-CMIP-1-0-0 ?

f=addfile("/glade/campaign/cesm/cesmdata/cseg/inputdata/lnd/clm2/firedata/clmforc.Li_2018_SSP3_CMIP6_hdm_0.5x0.5_AVHRR_simyr1850-2100_c181205.nc","r")
hdm=f->hdm

f1=addfile("/glade/work/fangli/hd/TRENDY/pop-dens_input4MIPs_population_CMIP_PIK-CMIP-1-0-0_gr_1850-2025.nc","r")
hdmn=f1->pop_dens

f2=addfile("/glade/work/fangli/hd/TRENDY/ctl05.clm2.h0.1850-01.nc","r")
landfrac=f2->landfrac
landmask=f2->landmask
landf1=landfrac*landmask
landf=landf1
landf(:,0:359)=landf1(:,360:719)
landf(:,360:719)=landf1(:,0:359)

do ilat=0,359
do ilon=0,719
if(ismissing(landf(ilat,ilon)))then
hdm(0:175,ilat,ilon)=(/hdmn(:,ilat,ilon)/)
else
hdm(0:175,ilat,ilon)=(/hdmn(:,ilat,ilon)/landf(ilat,ilon)/)
end if
end do
end do

fout=addfile("clmforc.Li_2025_CMIP7_hdm_0.5x0.5_simyr1850-2100_c250717.nc","c")
vNam=getfilevarnames(f)
do i=0,dimsizes(vNam)-1
if(vNam(dimsizes(vNam)-1-i).ne."hdm")then
x=f->$vNam(dimsizes(vNam)-1-i)$
fout->$vNam(dimsizes(vNam)-1-i)$=x
delete(x)
else
fout->hdm=hdm
end if
end do