Ganymed 1.0 Single Column Model: Difference between revisions

Line 76: Line 76:
=== Required Modifications to the Model  ===
=== Required Modifications to the Model  ===


At the time of this writing, modifications need to be compiled in to load new cases.  We are planning to amend this inconvenience.  The source files to modify are in <code>src/GEOSgcs_GridComp/GEOSgcm_GridComp/GEOSagcm_GridComp/GEOSsuperdyn_GridComp/GEOSdatmodyn_GridComp</code>.
As of the time of this writing, new cases should not need modifications compiled into the model, unless the case requires non-standard forcing variables or units.  The source files to modify are in <code>src/GEOSgcs_GridComp/GEOSgcm_GridComp/GEOSagcm_GridComp/GEOSsuperdyn_GridComp/GEOSdatmodyn_GridComp</code>.


First, in <code>GEOS_DatmoDynGridComp.F90</code>, a case must be added in two <code>select</code> statements at (or near) line 1039 and line 1941:
The parameter <code>DRIVER_DATA</code> in <code>AGCM.rc</code> needs to be changed to the filename (minus the .dat suffix) of the driver data.  Note that you will probably have to change the begin time in the <code>cap_restart</code> and the end time in <code>CAP.rc</code> to the appropriate times in <code>begtime</code> (probably <code>000000</code>) and <code>endtime</code>.
 
      select CASE(trim(DATA$))
 
A sample case is shown below:
 
<pre>
  case("merra_arm97jul")
      NT = 240
      NLEVEL = 42
      DATA_DRIVER=.true.
</pre>
 
For the case to be added, the <code>case</code> statement must have the name of the driver data file with the trailing <code>.dat</code> truncated (i.e. the file <code>merra_scm.dat</code> will require the <code>case</code> statement <code>case("merra_scm")</code> ).  The variable <code>NT</code> must be assigned to the length of the time series of the driving data, and <code>NLEVEL</code> to the number of pressure levels.  These values may be obtained from the header of the driver data file. 
 
A similar, though more simple modification must be made in the other <code>case</code> statement that has MERRA SCM experiment names as cases, and the <code>if</code> statement at about line 1074.
 
Similarly, any experiment using MERRA data requires a modification to <code>reader.F90</code> at about lines 179, 302 and 325.  The <code>if then</code> statement there:
 
<pre>
        if(filename.eq."arm_97jul.dat".or. &
          filename.eq."merra_arm97jul.dat".or. &
          filename.eq."merra_arm_scmx.dat")then
</pre>
 
requires the addition of the full driver data file name.
 
With these modifications in place, the model may be recompiled.
 
Finally, the parameter <code>DRIVER_DATA</code> in <code>AGCM.rc</code> needs to be changed to the full filename of the driver data.  Note that you will probably have to change the begin time in the <code>cap_restart</code> and the end time in <code>CAP.rc</code> to the appropriate times in <code>begtime</code> (probably <code>000000</code>) and <code>endtime</code>.


== Creating New SCM Case Boundary Conditions  ==
== Creating New SCM Case Boundary Conditions  ==