Scheduled Downtime
On Tuesday 24 October 2023 @ 5pm MT the forums will be in read only mode in preparation for the downtime. On Wednesday 25 October 2023 @ 5am MT, this website will be down for maintenance and expected to return online later in the morning.
Normal Operations
The forums are back online with normal operations. If you notice any issues or errors related to the forums, please reach out to help@ucar.edu

how to run forcing pt

Dear professors:
I have to look for your helping after trying many times.I only change $casename/Buildconf/pop2.buildnml.csh,and i change the part forcing_pt_interior_nml,like that pt_interior_data_type = 'monthly-calendar'
pt_interior_data_inc = 24.
pt_interior_interp_freq = 'every-timestep'
pt_interior_interp_type = 'linear'
pt_interior_interp_inc = 72.
pt_interior_restore_tau = 365.
pt_interior_filename = '/home/jys/work/cesm/archive/PB30/ocn/climate/pt_clim_hlcpbdb.dat'
pt_interior_file_fmt = 'bin'
pt_interior_restore_max_level = 60
pt_interior_formulation = 'restoring'
pt_interior_data_renorm(1) = 1.
pt_interior_variable_restore = .true.
pt_interior_restore_filename = '/home/jys/work/cesm/archive/PB30/ocn/climate/pt_restore.dat'
pt_interior_restore_file_fmt = 'bin'
After i run for 30 years,and compared the TEMP with control run,i found the two results were totally the same!They do not have any differences.My pt_clim_hlcpbdb.dat(100*116*60*12,monthly climatology) and pt_restore(100*116).dat are double-precision, direct-access files with each record having the dimensions of the full horizontal grid.And i also find forcing_pt_interior.F90 after i submit my job,and find
pt_interior_formulation = 'restoring'
pt_interior_data_type = 'none'
pt_interior_data_inc = 1.e20_r8
pt_interior_interp_type = 'nearest'
pt_interior_interp_freq = 'never'
pt_interior_interp_inc = 1.e20_r8
pt_interior_restore_tau = 1.e20_r8
pt_interior_filename = 'unknown-pt_interior'
pt_interior_file_fmt = 'bin'
pt_interior_restore_max_level = 0
pt_interior_data_renorm = c1
pt_interior_variable_restore = .false.
pt_interior_restore_filename = 'unknown-pt_interior_restore'
pt_interior_restore_filename = 'bin'
Should i change these in forcing_pt_interior.F90 before i submit the job?
Thanks for your help!
 

njn01

Member
Your approach to changing the pt_interior namelist variables in CESM1.0-based POP2 is correct -- what you have done should work. I set up a small CESM1.0.6  test case and confirmed that if I changed values in $CASE/Buildconf/pop2.buildnml.csh pt_interior variables and then submitted my job, those new values were correctly set in $EXEDIR/pop2_in.   You should do the same to confirm that this is working on your system. Note that pop2_in contains all of the namelist-variable settings for the POP2 model, and these namelists are read by the POP2 model during initialization.
For most CESM POP2 namelist variables, I would recommend that you check the ocn.log.* file to confirm that the model actually "sees" your changes, because most of the POP2 namelist-controlled variables are echoed to the log file. However, the forcing_pt_interior.F90 file does not echo the namelist variables, so in your case, you cannot use this approach to check. So as a second-best approach -- and the only one available to you for your existing runs -- I would recommend that you compare $EXEDIR/pop2_in files in your control and experimental directories; you should see that these files are different.You write that you checked the source file forcing_pt_interior.F90 and noticed the hard-coded default values.  This is ok.  The sequence of events in this (initialiazation) part of the module is 1) set default values, then 2) read the namelist.  If any value in the namelist is different from the default value, then the namelist value is used.   So do not modify the Fortran module to achieve the effect you want.
If you want to have the model report the actual namelist variables used in your case, you could modify forcing_pt_interior.F90 (then recompile). In the master-task block, immediately following the namelist read, you could add the statement: write(stdout,forcing_pt_interior_nml).  In CESM1.0.6 POP2, a good place to put this statement would be immediately after line 191.
 
Top