Skip to content
56 changes: 56 additions & 0 deletions doc/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,4 +1,60 @@
===============================================================
Tag name: ctsm5.3.066
Originator(s): slevis (Samuel Levis,UCAR/TSS,303-665-1310)
Date: Thu 07 Aug 2025 01:54:17 PM MDT
One-line Summary: Merge b4b-dev to master

Purpose and description of changes
----------------------------------

Parent PR #3395:
#3352 Add Fang Li's abm and popden .ncl scripts to /tools/contrib
#3395 Add to README.CHECKLIST.master_tags a new reminder:
"When izumi’s baseline is ready, open read permissions to all"

Significant changes to scientifically-supported configurations
--------------------------------------------------------------

Does this tag change answers significantly for any of the following physics configurations?
(Details of any changes will be given in the "Answer changes" section below.)

[Put an [X] in the box for any configuration with significant answer changes.]

[ ] clm6_0

[ ] clm5_0

[ ] ctsm5_0-nwp

[ ] clm4_5


Bugs fixed
----------
List of CTSM issues fixed (include CTSM Issue # and description) [one per line]:
Addresses part of #2701

Testing summary:
----------------

[PASS means all tests PASS; OK means tests PASS other than expected fails.]

regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing):

derecho ----- OK (testing was redundant given the type of code changes, but I did it anyway)
izumi ------- OK

Answer changes
--------------
Changes answers relative to baseline: No

Other details
-------------
Pull Requests that document the changes (include PR ids):
https://github.com/ESCOMP/ctsm/pull/3395

===============================================================
===============================================================
Tag name: ctsm5.3.065
Originator(s): erik (Erik Kluzek,UCAR/TSS,303-497-1326)
Date: Mon 28 Jul 2025 09:30:35 AM MDT
Expand Down
1 change: 1 addition & 0 deletions doc/ChangeSum
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
Tag Who Date Summary
============================================================================================================================
ctsm5.3.066 slevis 08/07/2025 Merge b4b-dev to master
ctsm5.3.065 erik 07/28/2025 Merge b4b-dev to master
ctsm5.3.064 slevis 07/24/2025 Add time dimension to 1d_wt fields in transient runs
ctsm5.3.063 samrabin 07/10/2025 Merge b4b-dev to master
Expand Down
3 changes: 2 additions & 1 deletion doc/README.CHECKLIST.master_tags
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ if you did step 7 above using git commands that require this step)

---- NOTES ----

(3) -- Always test on your fork with a feature-branch so that we can change tag order if needed. Put
(3a) -- When izumi’s baseline is ready, manually open read permissions to all.
(3b) -- Always test on your fork with a feature-branch so that we can change tag order if needed. Put
baselines in the next tag name, as we can easily change afterwards if needed.

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