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

SGI Port Validation -- Initial Conditions?

Hi. I'm trying to validate a recent install of CAM3.1 on an SGI 3800 series (R14000) configured for MPI-only (i.e. SPMD enabled, SMP disabled). I have been following the algorithm outlined in the "porting validation" section of this webpage for a perturbation growth test and have encountered perplexing results.

I am confused by the fact that my T31 CAM3.1 simulation does not appear to initialize in the same state as the control NCAR IBM CAM3.0 simulation for which perturbation growth rate data is provided: Results from the PERL script 'cprncdf' indicated that the RMS temperature data from my validation history file were of order 10^-2 different from the control IBM data at the *initial* timestep (t=0). In comparison, the example plot shown on the porting website indicates that this initial discrepancy should be of order 10^-12. This suggests to me that my run was somehow not configured for the correct initial state for comparison to the IBM control history datafile. I find this perplexing, since there are only one set of T31 initial data available on the CAM source release page, and I assume that these were the data used to initialize the IBM control perturbation test.

I have appropriately assigned the environment variable 'CSMDATA' to the local location of this T31 input data, and I based my procedure on the example provided on the Porting web-page (http://www.ccsm.ucar.edu/models/atm-cam/port/):

1) SYNTAX FOR 'configure':
----------------------------------------------
% configure -nc_inc /site/home/mikep/include -nc_lib /site/home/mikep/lib -res 48x96 -fflags "-mips4" -fopt "-O1" -pergro -spmd -mpi_inc /usr/include -mpi_lib /usr/lib64

(NB: The optimization override -O1 was necessary to avoid segmentation faults on this particular SGI architecture)

2) SYNTAX FOR 'build-namelist':
-----------------------------------------------------
% build-namelist -case p0 -namelist "&camexp nsrest=0 nelapse=-2 mss_irt=0 nrefrq=0
nhtfrq=1 ndens=1 mfilt=145 hfilename_spec='h%t.nc'
empty_htapes=.true. fincl1='T:I','PS:I' aqua_planet=.true. /"

--> Successfully produced history file 'h0.nc' from local 16-processor simulation.

3) PERL Script Acquisition
----------------------------------------------
- built and installed the cprnc code in the CAM3.1 release (cam1/models/atm/cam/tools/cprnc/) for IRIX64 and added to path.
- obtained the control history file cam30_e48ph_ibm.tar from http://www.ccsm.ucar.edu/models/atm-cam/port/cam30_e48ph_ibm.tar.gz
- obtained the PERL script 'cprncdf' from http://www.ccsm.ucar.edu/models/atm-cam/port/pergro-utils.tar.gz

4) RESULTS FROM 'cprncdf':
----------------------------------------------

% cprncdf e48ph_ibm_p0.nc h0.nc

e48ph_aqpgro
p0
T
0 3.7702E-02
1 4.5782E-02
2 4.9340E-02
3 6.2141E-02
4 7.1027E-02
5 8.1419E-02
6 8.9417E-02
7 9.8655E-02
8 1.0141E-01
9 1.0675E-01
(...)
92 2.3591E-01
93 2.3700E-01
94 2.3790E-01
95 2.3844E-01
96 2.3723E-01

Can anyone explain why I might be seeing RMS temperature differences of order 10^-2 at the initial timestep? Could this have anything to do with CAM3.1 vs. CAM3.0, or is it due to inconsistent initial conditions? If the latter, where can I find the IC's that were used to produce the IBM control dataset?

Thanks in advance,
-Mike.
 
Top