PROGRAM netcdf_to_gitm_blocks

The Global Ionosphere Thermosphere Model (GITM) is a 3-dimensional spherical code that models the Earth’s thermosphere and ionosphere system using a stretched grid in latitude and altitude. For a fuller description of using GITM within DART, please see the GITM.
netcdf_to_gitm_blocks is the program that updates the GITM restart files (i.e. b?????.rst) with the information from a DART output/restart file (e.g. perfect_ics, filter_ics, ...).
The list of variables used to create the DART state vector are specified in the input.nml file.
Conditions required for successful execution of netcdf_to_gitm_blocks:
  • a valid input.nml namelist file for DART

  • a valid UAM.in control file for GITM

  • a set of b?????.rst data files for GITM

  • a header.rst file for GITM

  • the DART/GITM interfaces must be compiled in a manner consistent with the GITM data and control files. The following GITM source files are required to build any DART interface:

    • models/gitm/GITM2/src/ModConstants.f90

    • models/gitm/GITM2/src/ModEarth.f90

    • models/gitm/GITM2/src/ModKind.f90

    • models/gitm/GITM2/src/ModSize.f90

    • models/gitm/GITM2/src/ModTime.f90

    • models/gitm/GITM2/src/time_routines.f90

    Versions of these are included in the DART release. ModSize.f90, in particular, must match what was used to create the b????.rst files.

The individual model instances are run in unique directories. This is also where the converter routines gitm_to_dart and netcdf_to_gitm_blocks are run. This makes it easy to use a single ‘static’ name for the input and output filenames. advance_model.csh is responsibile for linking the appropriate files to these static filenames.

The simplest way to test the converter is to compile GITM and run a single model state forward using work/clean.sh. To build GITM … download GITM and unpack the code into DART/models/gitm/GITM2 and follow these instructions:

cd models/gitm/GITM2
./Config.pl -install -compiler=ifortmpif90 -earth
make
cd ../work
./clean.sh 1 1 0 150.0 170.0 1.0

And then manually run netcdf_to_gitm_blocks on the result.

Namelist

We adhere to the F90 standard of starting a namelist with an ampersand ‘&’ and terminating with a slash ‘/’ for all our namelist input. Character strings that contain a ‘/’ must be enclosed in quotes to prevent them from prematurely terminating the namelist.

&netcdf_to_gitm_blocks_nml
   netcdf_to_gitm_blocks_output_file = 'dart_restart',
   advance_time_present     = .false.
   /

&model_nml
   gitm_restart_dirname         = 'advance_temp_e1/UA/restartOUT',
   assimilation_period_days     = 0,
   assimilation_period_seconds  = 1800,
   model_perturbation_amplitude = 0.2,
   output_state_vector          = .false.,
   calendar                     = 'Gregorian',
   debug                        = 0,
   gitm_state_variables = 'Temperature',            'QTY_TEMPERATURE',
                          'eTemperature',           'QTY_TEMPERATURE_ELECTRON',
                          'ITemperature',           'QTY_TEMPERATURE_ION',
                          'iO_3P_NDensityS',        'QTY_DENSITY_NEUTRAL_O3P',
   ...

Contents

Type

Description

netcdf_to_gitm_blocks_output_file

character(len=128)

The name of the DART file containing the model state derived from the GITM restart files.

advance_time_present

logical

If you are manually converting a DART initial conditions or restart file this should be .false.; these files have a single timestamp describing the valid time of the model state. If .true., TWO timestamps are expected in the DART file header and DART_GITM_time_control.txt) is created with the settings appropriate to advance GITM to the time requested by DART.


The full description of the model_nml namelist is documented in the gitm model_mod, but the most important variable for netcdf_to_gitm_blocks is repeated here.

Contents

Type

Description

gitm_restart_dirname

character(len=256)

The name of the directory containing the GITM restart files and runtime control information.

gitm_state_variables

character(len=32), dimension(2,80)

The list of variable names in the gitm restart file to use to create the DART state vector and their corresponding DART kind. The default list is specified in model_mod.nml

Modules used

obs_def_upper_atm_mod.f90
assim_model_mod.f90
types_mod.f90
location/threed_sphere/location_mod.f90
models/gitm/GITM2/src/ModConstants.f90
models/gitm/GITM2/src/ModEarth.f90
models/gitm/GITM2/src/ModKind.f90
models/gitm/GITM2/src/ModSize.f90
models/gitm/GITM2/src/ModTime.f90
models/gitm/GITM2/src/time_routines.f90
models/gitm/dart_gitm_mod.f90
models/gitm/netcdf_to_gitm_blocks.f90
models/gitm/model_mod.f90
null_mpi_utilities_mod.f90
obs_kind_mod.f90
random_seq_mod.f90
time_manager_mod.f90
utilities_mod.f90

Files read

  • gitm restart files: b????.rst

  • gitm control files: header.rst

  • gitm control files: UAM.in.rst

  • DART namelist file: input.nml

Files written

  • DART initial conditions/restart file; e.g. dart_ics

References