PROGRAM MIDAS_to_obs
¶
Overview¶
MIDAS netCDF file to DART observation converter¶
Alex Chartier (University of Bath, UK) is the point-of-contact for this effort.
“MIDAS runs in Matlab. The raw observations come from GPS receivers as RINEX files, but we can’t use them directly just yet … Currently, the ‘slant’ (satellite-to-receiver path) observations are inverted by MIDAS to make vertical, column-integrated ‘observations’ of plasma density.”
Data sources¶
netcdf Test {
dimensions:
latitude = 5 ;
longitude = 6 ;
height = 30 ;
time = UNLIMITED ; // (1 currently)
variables:
double latitude(latitude) ;
latitude:units = "degrees_north" ;
latitude:long_name = "latitude" ;
latitude:standard_name = "latitude" ;
double longitude(longitude) ;
longitude:units = "degrees_east" ;
longitude:long_name = "longitude" ;
longitude:standard_name = "longitude" ;
double height(height) ;
height:units = "metres" ;
height:long_name = "height" ;
height:standard_name = "height" ;
double time(time) ;
time:units = "Days since 1601-01-01" ;
time:long_name = "Time (UT)" ;
time:standard_name = "Time" ;
double Ne(height, latitude, longitude) ;
Ne:grid_mapping = "standard" ;
Ne:units = "1E11 e/m^3" ;
Ne:long_name = "electron density" ;
Ne:coordinates = "latitude longitude" ;
double TEC(time, latitude, longitude) ;
TEC:grid_mapping = "standard" ;
TEC:units = "1E16 e/m^2" ;
TEC:long_name = "total electron content" ;
TEC:coordinates = "latitude longitude" ;
double Variance(time, latitude, longitude) ;
Variance:grid_mapping = "standard" ;
Variance:units = "1E16 e/m^2" ;
Variance:long_name = "Variance of total electron content" ;
Variance:coordinates = "latitude longitude" ;
Variance:standard_name = "TEC variance" ;
// global attributes:
:Conventions = "CF-1.5" ;
}
Programs¶
MIDAS_to_obs.f90
file is the source code for the main converter program.MIDAS/work
subdirectory and run the quickbuild.csh
script to build the
converter and a couple of general purpose utilities. The
program obs_sequence_tool manipulates (i.e. combines, subsets)
DART observation files once they have been created. The default observations supported are those defined in
observations/forward_operators/obs_def_upper_atm_mod.f90. If
you need additional observation types, you will have to add the appropriate obs_def_XXX_mod.f90
file to the
input.nml
&preprocess_nml:input_files
variable and run quickbuild.csh
again. It rebuilds the table of
supported observation types before compiling the source code.Namelist¶
This namelist is read from the file input.nml
. Namelists start with an ampersand ‘&’ and terminate with a slash ‘/’.
Character strings that contain a ‘/’ must be enclosed in quotes to prevent them from prematurely terminating the
namelist.
&MIDAS_to_obs_nml
input_file = 'infile.nc'
obs_out_file = 'obs_seq.out',
verbose = .false.
/
Item |
Type |
Description |
---|---|---|
input_file |
character(len=256) |
Name of the input netCDF MIDAS file to read. |
obs_out_file |
character(len=256) |
Name of the output observation sequence file that is created. |
verbose |
logical |
Controls how much informational output is printed during a conversion.
|
Example¶
&MIDAS_to_obs_nml
input_file = '../data/Test.nc',
obs_out_file = 'obs_seq.out',
verbose = .TRUE.,