Skip to content

Commit

Permalink
Merge branch 'singhbalwinder/atm/gold2718-new-infrastructure'(PR #343)
Browse files Browse the repository at this point in the history
Re-implement atmosphere I/O infrastructure

This commit brings in the new infrastructure branch which is a
re-implementation of ACME atmosphere I/O infrastructure including
history, input, and most restart I/O. History namelist items have
been moved to their own namelist. The interfaces for addfld and infld
have changed (this branch has updated all calls to addfld and infld).
Changes have been brought into SE and FV dycores but not the Eulerian
or SLD dycores (which therefore will not build after this merge).

After merging to master (before pushing), I ran acme_developer tests
to see if the model builds for different compsets(without comparing
to the baselines) and all test Passed.

Fixes #314
[NML]
AG-338

* singhbalwinder/atm/gold2718-new-infrastructure:
  Removed unnecessary comment
  Added integer interface to infld
  Modify physics coordinate output to be PIO2 compatible
  Needed latest cam_grid_support
  Finished porting / modifying files for new infrastructure
  Ported SE dycore files to new infrastructure
  Converted fv dycore to new infrastructure
  Finished importing control and cpl infrastructure differences
  Bring in new infrastructure changes to namelist
  Starting to work on port of control files
  New or rewritten code from new infrastructure project
  Converted (I think) the control and physics addfld calls
  Converted (I think) the rest of the chemistry addfld calls
  Converted chem_proc/procfiles/cam/mo_imp_sol_scalar.F90 addfld calls
  Converted chemistry/aerosol addfld calls
  Converted chemistry/mozart addfld calls
  Updated addfld calls for bulk_aero and modal_aero

Conflicts:
	components/cam/src/chemistry/modal_aero/aero_model.F90
	components/cam/src/chemistry/modal_aero/modal_aero_coag.F90
	components/cam/src/chemistry/modal_aero/modal_aero_newnuc.F90
	components/cam/src/chemistry/utils/modal_aero_calcsize.F90
	components/cam/src/dynamics/se/interp_mod.F90
	components/cam/src/dynamics/se/nctopo_util_mod.F90
	components/cam/src/dynamics/se/restart_dynamics.F90
	components/cam/src/dynamics/se/stepon.F90
	components/cam/src/physics/cam/convect_shallow.F90
	components/cam/src/physics/cam/cospsimulator_intr.F90
	components/cam/src/physics/cam/eddy_diff.F90
	components/cam/src/physics/cam/macrop_driver.F90
	components/cam/src/physics/cam/microp_aero.F90
	components/cam/src/physics/cam/modal_aer_opt.F90
	components/cam/src/physics/cam/ndrop.F90
	components/cam/src/physics/cam/zm_conv_intr.F90
	models/atm/cam/src/physics/cam/clubb_intr.F90
	models/atm/cam/src/physics/cam/micro_mg_cam.F90
  • Loading branch information
singhbalwinder committed Jan 11, 2016
2 parents 27aab26 + ea65d40 commit 7a3eefd
Show file tree
Hide file tree
Showing 176 changed files with 19,899 additions and 13,022 deletions.
4 changes: 2 additions & 2 deletions cime/machines-acme/env_mach_specific.blues
Original file line number Diff line number Diff line change
Expand Up @@ -48,12 +48,12 @@ if ( $COMPILER == "intel" ) then
if ( $MPILIB == "mpi-serial") then
setenv PNETCDFROOT ""
else if ( $MPILIB == "mvapich") then
soft add +mvapich2-2.2b-intel-15.0-psm
soft add +mvapich2-2.2b-intel-15.0 #soft add +mvapich2-2.2b-intel-15.0-psm #BSINGH
soft add +pnetcdf-1.6.1-mvapich2-2.2a-intel-15.0
setenv PNETCDFROOT /soft/climate/pnetcdf/1.6.1/intel-15.0.1/mvapich2-2.2a-intel-15.0
else
# default - mvapich+pnetcdf
soft add +mvapich2-2.2b-intel-15.0-psm
soft add +mvapich2-2.2b-intel-15.0 #soft add +mvapich2-2.2b-intel-15.0-psm #BSINGH
soft add +pnetcdf-1.6.1-mvapich2-2.2a-intel-15.0
setenv PNETCDFROOT /soft/climate/pnetcdf/1.6.1/intel-15.0.1/mvapich2-2.2a-intel-15.0
endif
Expand Down
19 changes: 17 additions & 2 deletions components/cam/bld/build-namelist
Original file line number Diff line number Diff line change
Expand Up @@ -3260,8 +3260,7 @@ if ($cfg->get('dyn') =~ /se/) {
hypervis_subcycle hypervis_subcycle_q
statefreq se_partmethod se_topology se_ftype
integration nu nu_div nu_p nu_q nu_top se_phys_tscale
interpolate_analysis interp_nlat interp_nlon vert_remap_q_alg
interp_type interp_gridtype se_limiter_option qsplit rsplit tstep_type
vert_remap_q_alg se_limiter_option qsplit rsplit tstep_type
hypervis_scaling mesh_file);

foreach my $var (@vars) {
Expand Down Expand Up @@ -3303,6 +3302,22 @@ if ($history_vdiag =~ m/$TRUE/io) {
}
}

# Check incompatible history options
my $interpolate_output = $nl->get_value('interpolate_output');
my @interp_output = split /,/, $interpolate_output;
for my $i (0 .. $#interp_output) {
if ($interp_output[$i] =~ /$TRUE/io) {
# Currently, interpolated output is only supported for the SE dycore
if ( ! ($dyn =~ /se/) ) {
die "$ProgName - ERROR: interpolate_output is not supported for $dyn dycore";
}
# Currently, interpolated output is incompatible with regional output
my $region = $nl->get_value('fincl${i}lonlat');
if (defined $region) {
die "$ProgName - ERROR: interpolate_output is currently incompatible with regional output (e.g., fincl${i}lonlat)";
}
}
}


#-----------------------------------------------------------------------------------------------
Expand Down
Loading

0 comments on commit 7a3eefd

Please sign in to comment.