Regridding Restarts for Heracles 5.1: Difference between revisions

Initial Commit
 
More changes for Heracles-5_1
 
(One intermediate revision by the same user not shown)
Line 5: Line 5:
==Using the <code>regrid.pl</code> Script ==
==Using the <code>regrid.pl</code> Script ==


Restarts can be easily created from MERRA data or other model-generated sources using the <code>regrid.pl</code> script in <code>Linux/bin/</code> (above <code>src/</code>) -- this script is different from, and is specifically a wrapper for, the <code>regrid</code> script used in earlier versions.  The <code>regrid.pl</code> script is created when <code>make install</code> is run.  You might have to update the <code>regrid.pl</code> script by going to <code>src/GMAO_Shared/GEOS_Util/post</code>, running <code>cvs upd -r HEAD regrid.pl</code>, and running <code>make install</code>. The same script can regrid restarts between different versions of Fortuna 1.4 to Heracles 5.1 at any resolution.
Restarts can be easily created from MERRA2 data or other model-generated sources using the <code>regrid.pl</code> script in <code>Linux/bin/</code> (above <code>src/</code>) -- this script is different from, and is specifically a wrapper for, the <code>regrid</code> script used in earlier versions.  The <code>regrid.pl</code> script is created when <code>make install</code> is run.  You might have to update the <code>regrid.pl</code> script by going to <code>src/GMAO_Shared/GEOS_Util/post</code>, running <code>cvs upd -r HEAD regrid.pl</code>, and running <code>make install</code>. The same script can regrid restarts between different versions of Fortuna 1.4 to Heracles 5.1 at any resolution.
 


Running <code>regrid.pl -h</code> (after running <code>source g5_modules</code>) -- with the  <code>-h</code> for help -- tells the story:
Running <code>regrid.pl -h</code> (after running <code>source g5_modules</code>) -- with the  <code>-h</code> for help -- tells the story:


<pre>
<pre>
Linux/bin> regrid.pl -h


NAME
NAME
Line 44: Line 39:


REQUIRED OPTION FOR MERRA INPUTS
REQUIRED OPTION FOR MERRA INPUTS
   -merra            get input restarts from OPS MERRA data archives
   -merra            (same as -merra1)
  -merra1            get input restarts from OPS MERRA-1 data archives
  -merra2            get input restarts from OPS MERRA-2 data archives


REQUIRED OPTIONS FOR NON-MERRA INPUTS
REQUIRED OPTIONS FOR NON-MERRA INPUTS
Line 57: Line 54:
   -oceanin  oceanIN  ocean horizontal grid of inputs
   -oceanin  oceanIN  ocean horizontal grid of inputs
                       =c : 1-deg (360x180); e.g. Reynolds
                       =c : 1-deg (360x180); e.g. Reynolds
                      =e : 1/4-deg (1440x720); e.g. MERRA-2
                       =f : 1/8-deg (2880x1440); e.g. OSTIA
                       =f : 1/8-deg (2880x1440); e.g. OSTIA
                       defaults to 'f' if tagIN ends with '_m2' or '_D';
                       defaults to 'c'
                      otherwise, defaults to 'c'
   -oceanout oceanOUT ocean horizontal grid of outputs (see -oceanIN)
   -oceanout oceanOUT ocean horizontal grid of outputs (see -oceanIN)
   -esmabin  ESMABIN  location of build's scripts and programs; defaults to location
   -esmabin  ESMABIN  location of build's scripts and programs; defaults to location
                       of regrid.pl script
                       of regrid.pl script
  -iceDT    dtime  datetime for alternate landice rst input if regridding to
                      'Ganymed-2_0' from earlier tag; dtime should have the
                      following format: -iceDT yyyymmdd_hh
                      if dtime is not provided or if no restarts can be found to
                      match dtime, then script will prompt user from list of
                      available datetimes.
                      if dtime eq '0', then alternate landice rst will not be used
   -newid    newid    label to replace expid in output restart names;
   -newid    newid    label to replace expid in output restart names;
                       defaults to 'n-expid' where n is OUTPUT atmosphere grid ID
                       defaults to 'n-expid' where n is OUTPUT atmosphere grid ID
   -tagin    tagIN    GCM boundary condition tag for inputs (see BCS TAGS below);
   -tagin    tagIN    GCM or DAS tag associated with inputs (see TAGS below);
                       defaults to Fortuna-2_1
                       defaults to Ganymed-4_0
   -tagout  tagOUT  GCM boundary condition tag for outputs (see BCS TAGS below);
   -tagout  tagOUT  GCM or DAS tag associated with outputs (see TAGS below);
                       defaults to Ganymed-1_0_M if oceanIN eq 'c';
                       defaults to Ganymed-4_0
                      defaults to Ganymed-1_0_D if oceanIN eq 'f'
   -rs      flag    flag indicating which restarts to regrid
   -rs      flag    flag indicating which restarts to regrid
                       =1 for upper-air restarts only
                       =1 for upper-air restarts only
Line 82: Line 85:
   -np                no prompt; take defaults for all prompts
   -np                no prompt; take defaults for all prompts
   -db                (debug mode) Do not clean work directory after running programs;
   -db                (debug mode) Do not clean work directory after running programs;
   -dbh              (debug hash) Show contents of hashes: %IN, %MID1, %MID2, and %OUT
   -dbh              (debug hash) Show contents of hashes: %IN and %OUT
   -v                verbose mode
   -v                verbose mode
   -h[elp]            print usage message
   -h[elp]            print usage message
Line 102: Line 105:
   cubed-sphere grids
   cubed-sphere grids
   ------------------
   ------------------
   Cn, where n = {48, 90, 180, 360, 500, 720, 1000, 1440, 2000, 2880}
   Cn, where n = {24, 48, 90, 180, 360, 500, 720, 1000, 1440, 2000, 2880}


   Ocean Horizontal Grids
   Ocean Horizontal Grids
   ======================
   ======================
   c = 1-deg  (360x180);  e.g. Reynolds
   c = 1-deg  (360x180);  e.g. Reynolds
  e = 1/4-deg (1440x720) ; e.g. MERRA-2
   f = 1/8-deg (2880x1440); e.g. OSTIA
   f = 1/8-deg (2880x1440); e.g. OSTIA


BCS TAGS
TAGS
   Use GCM tag names with -tagin and -tagout flags
   Use GCM or DAS tag names with -tagin and -tagout flags


       GCM Tag                DAS Tag (GCM tag version first appears)
       Sample GCM tags
       -------                ---------------------------------------
       ---------------
       Ganymed-1_0_D          GEOSadas with Date-Driven Great_Lakes
      F14  : Fortuna-1_4  ............  Fortuna-1_4_p1
       Ganymed-1_0_M          GEOSadas with with Model-Based Great_Lakes
      F21  : Fortuna-2_1  ............  Fortuna-2_5_pp2
       Ganymed-1_0_m2        GEOSadas-5_9_0 with Date-Driven Great_Lakes
      G10  : Ganymed-1_0  ............  Ganymed-1_0_BETA4
       Ganymed-1_0_m1        GEOSadas-5_9_0 with Model-Based Great_Lakes
      G10p : Ganymed-1_0_p1  .........  Ganymed-1_0_p6
       Ganymed-1_0            GEOSadas-5_8_0
      G20  : Ganymed-2_0  ............  Ganymed-2_1_p6
       Fortuna-2_1            GEOSadas-5_6_1
      G30  : Ganymed-3_0  ............  Ganymed-3_0_p1
       Fortuna-2_0            n/a
      G40  : Ganymed-4_0  ............  Heracles-4_0
      Fortuna-1_5            n/a
 
       Fortuna-1_4 (MERRA)    GEOSadas-5_4_0
      Sample DAS tags
      ---------------
       214  : GEOSdas-2_1_4  ..........  GEOSdas-2_1_4-m4
       540  : GEOSadas-5_4_0  .........  GEOSadas-5_5_3
       561  : GEOSadas-5_6_1  .........  GEOSadas-5_7_3_p2
       580  : GEOSadas-5_8_0  .........  GEOSadas-5_9_1
       591p : GEOSadas-5_9_1_p1  ......  GEOSadas-5_9_1_p9
       5A0  : GEOSadas-5_10_0  ........  GEOSadas-5_10_0_p1
       5B0  : GEOSadas-5_10_0_p2  .....  GEOSadas-5_11_0
       512  : GEOSadas-5_12_2  ........  GEOSadas-5_13_1


AUTHOR
AUTHOR
   Joe Stassi, SAIC  
   Joe Stassi, SAIC (joe.stassi@nasa.gov)
 
Linux/bin>
 




Line 134: Line 144:




So the following will create restarts in C180 (roughly equivalent to ½-degree lat-lon) resolution, on the ¼-degree ocean from MERRA2 on the first day of 2012 and put them in <code>/discover/nobackup/mathomp4/Regrid</code>:


./regrid.pl -ymd 20120101 -hr 21 -grout C180 -outdir /discover/nobackup/mathomp4/Regrid -merra -tagout Heracles-4_0 -oceanout e


So the following will create restarts in 2 degree resolution from MERRA on the first day of 1990 and put them in <code>/discover/nobackup/aeichman/regrid</code>:
The above presents the minimum options to get a working set of restarts -- anything lacking will be requested interactively.  Your selections will be presented for your review before the script does any heavy lifting.  The script may appear to stall while it waits for the relevant MERRA or MERRA-2 files to be retrieved from the <code>/archive</code> filesystem.  
 
./regrid.pl -ymd 19900101 -hr 21 -grout b -outdir /discover/nobackup/aeichman/regrid -merra -tagout Ganymed-1_0_M -oceanout c
 
The above presents the minimum options to get a working set of restarts -- anything lacking will be requested interactively.  Your selections will be presented for your review before the script does any heavy lifting.  The script may appear to stall while it waits for the relevant MERRA files to be retrieved from the <code>/archive</code> filesystem.  


For sources other than MERRA, you will have to specify the location of a regrid resource file that contains the model version, resolution and location of the source restarts, and the resolution of the output restarts.  A sample regrid resource file is <code>regrid.rc</code> in the same directory as the <code>regrid</code> script.  Note that  <code>regrid</code> only works for creating restarts for its model tag, and does not work at all for making restarts for tags before Heracles 5.1.  Restarts for earlier model tags have to be created "manually".
For sources other than MERRA/MERRA-2, you will have to specify the location of a regrid resource file that contains the model version, resolution and location of the source restarts, and the resolution of the output restarts.  A sample regrid resource file is <code>regrid.rc</code> in the same directory as the <code>regrid</code> script.  Note that  <code>regrid</code> only works for creating restarts for its model tag, and does not work at all for making restarts for tags before Heracles 5.1.  Restarts for earlier model tags have to be created "manually".


== Renaming Restart Files ==
== Renaming Restart Files ==