Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HYSPLIT input support #135

Merged
merged 15 commits into from
Jun 12, 2017
Merged
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ UMInAnlFiles = ['qwqg00.pp0']
## UMInShortFcstFiles takes list of partial filenames which has short forecast
## (kind of analysis) fieldsfile/pp files of UM model produced for 00UTC, 06UTC, 12UTC, 18UTC.
## None option will take hardcoded proper infile names.
UMInShortFcstFiles = ['umglca_pb', 'umglca_pd', 'umglca_pe', 'umglca_pf', 'umglca_pi']
UMInShortFcstFiles = ['umglc.pp0', 'umglca_pb', 'umglca_pd', 'umglca_pe', 'umglca_pf', 'umglca_pi']

## UMInLongFcstFiles takes list of partial filenames which has long forecast
## fieldsfile/pp file of UM model based on reference time at 00UTC, 12UTC.
Expand Down
25 changes: 25 additions & 0 deletions bsubScripts/ncum_global_hysplit_input/REAMDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
This will produce analysis 00utc files.

$ bsub < ncum_global_hysplit_input_anl_00Z.bash

This will produce analysis 06utc files.

$ bsub < ncum_global_hysplit_input_anl_06Z.bash

This will produce analysis 12utc files.

$ bsub < ncum_global_hysplit_input_anl_12Z.bash

This will produce analysis 18utc files.

$ bsub < ncum_global_hysplit_input_anl_18Z.bash

This will produce forecast 00utc files.

$ bsub < ncum_global_hysplit_input_fcst_00Z.bash

This will produce forecast-fluxes 00utc files.

$ bsub < ncum_global_hysplit_input_flux_00Z.bash

Arulalan.T
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
#!/bin/bash
#
#BSUB -a poe # set parallel operating environment
#BSUB -J u2g2hysplit # job name
#BSUB -W 06:00 # wall-clock time (hrs:mins)
#BSUB -n 6 # number of tasks in job
#BSUB -x # exclusive mode
#BSUB -q ultra # queue
#BSUB -e /gpfs3/home/umfcst/UMRiderLogs/hysplit/bsub/um2grb2.anl.00hr.err.%J.hybrid # error file name in which %J is replaced by the job ID
#BSUB -o /gpfs3/home/umfcst/UMRiderLogs/hysplit/bsub/um2grb2.anl.00hr.out.%J.hybrid # output file name in which %J is replaced by the job ID

# find out the directory of this bash script after submitted to bsub
DIR="$( cd "$( dirname "${BASH_SOURCE[1]}" )" && pwd )"

# get the absolute path of the local table
localTable_relative_dir="$DIR/../../tables/local/ncmr/v1/"
localTable_absolute_dir="$( cd "$localTable_relative_dir" && pwd )"
localTable=$localTable_absolute_dir/ncmr_grib2_local_table

# get the absolute path of the script for analysis 00utc
g2scripts_relative_dir="$DIR/../../g2scripts/"
g2scripts_absolute_dir="$( cd "$g2scripts_relative_dir" && pwd )"
g2script=$g2scripts_absolute_dir/um2grb2_anl_00Z.py

# export the configure paths to needed variables
export UMRIDER_SETUP=$DIR/ncum_global_hysplit_input_um2grb2_setup.cfg
export UMRIDER_VARS=$DIR/ncum_global_hysplit_input_um2grb2_anl_vars.cfg
export GRIB2TABLE=$localTable

echo "export UMRIDER_SETUP="$UMRIDER_SETUP
echo "export UMRIDER_VARS="$UMRIDER_VARS
echo "export GRIB2TABLE="$GRIB2TABLE

# sourcing umtid_bashrc to load module python-uvcdat-iris!
source "$DIR/../umtid_bashrc"
# execute the script
python $g2script
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
#!/bin/bash
#
#BSUB -a poe # set parallel operating environment
#BSUB -J u2g2hysplit # job name
#BSUB -W 06:00 # wall-clock time (hrs:mins)
#BSUB -n 4 # number of tasks in job
#BSUB -x # exclusive mode
#BSUB -q ultra # queue
#BSUB -e /gpfs3/home/umfcst/UMRiderLogs/hysplit/bsub/um2grb2.anl.06hr.err.%J.hybrid # error file name in which %J is replaced by the job ID
#BSUB -o /gpfs3/home/umfcst/UMRiderLogs/hysplit/bsub/um2grb2.anl.06hr.out.%J.hybrid # output file name in which %J is replaced by the job ID

# find out the directory of this bash script after submitted to bsub
DIR="$( cd "$( dirname "${BASH_SOURCE[1]}" )" && pwd )"

# get the absolute path of the local table
localTable_relative_dir="$DIR/../../tables/local/ncmr/v1/"
localTable_absolute_dir="$( cd "$localTable_relative_dir" && pwd )"
localTable=$localTable_absolute_dir/ncmr_grib2_local_table

# get the absolute path of the script for analysis 06utc
g2scripts_relative_dir="$DIR/../../g2scripts/"
g2scripts_absolute_dir="$( cd "$g2scripts_relative_dir" && pwd )"
g2script=$g2scripts_absolute_dir/um2grb2_anl_06Z.py

# export the configure paths to needed variables
export UMRIDER_SETUP=$DIR/ncum_global_hysplit_input_um2grb2_setup.cfg
export UMRIDER_VARS=$DIR/ncum_global_hysplit_input_um2grb2_anl_vars.cfg
export GRIB2TABLE=$localTable

echo "export UMRIDER_SETUP="$UMRIDER_SETUP
echo "export UMRIDER_VARS="$UMRIDER_VARS
echo "export GRIB2TABLE="$GRIB2TABLE

# sourcing umtid_bashrc to load module python-uvcdat-iris!
source "$DIR/../umtid_bashrc"
# execute the script
python $g2script

Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
#!/bin/bash
#
#BSUB -a poe # set parallel operating environment
#BSUB -J u2g2hysplit # job name
#BSUB -W 06:00 # wall-clock time (hrs:mins)
#BSUB -n 4 # number of tasks in job
#BSUB -x # exclusive mode
#BSUB -q ultra # queue
#BSUB -e /gpfs3/home/umfcst/UMRiderLogs/hysplit/bsub/um2grb2.anl.12hr.err.%J.hybrid # error file name in which %J is replaced by the job ID
#BSUB -o /gpfs3/home/umfcst/UMRiderLogs/hysplit/bsub/um2grb2.anl.12hr.out.%J.hybrid # output file name in which %J is replaced by the job ID

# find out the directory of this bash script after submitted to bsub
DIR="$( cd "$( dirname "${BASH_SOURCE[1]}" )" && pwd )"

# get the absolute path of the local table
localTable_relative_dir="$DIR/../../tables/local/ncmr/v1/"
localTable_absolute_dir="$( cd "$localTable_relative_dir" && pwd )"
localTable=$localTable_absolute_dir/ncmr_grib2_local_table

# get the absolute path of the script for analysis 12utc
g2scripts_relative_dir="$DIR/../../g2scripts/"
g2scripts_absolute_dir="$( cd "$g2scripts_relative_dir" && pwd )"
g2script=$g2scripts_absolute_dir/um2grb2_anl_12Z.py

# export the configure paths to needed variables
export UMRIDER_SETUP=$DIR/ncum_global_hysplit_input_um2grb2_setup.cfg
export UMRIDER_VARS=$DIR/ncum_global_hysplit_input_um2grb2_anl_vars.cfg
export GRIB2TABLE=$localTable

echo "export UMRIDER_SETUP="$UMRIDER_SETUP
echo "export UMRIDER_VARS="$UMRIDER_VARS
echo "export GRIB2TABLE="$GRIB2TABLE

# sourcing umtid_bashrc to load module python-uvcdat-iris!
source "$DIR/../umtid_bashrc"
# execute the script
python $g2script

Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
#!/bin/bash
#
#BSUB -a poe # set parallel operating environment
#BSUB -J u2g2hysplit # job name
#BSUB -W 06:00 # wall-clock time (hrs:mins)
#BSUB -n 4 # number of tasks in job
#BSUB -x # exclusive mode
#BSUB -q ultra # queue
#BSUB -e /gpfs3/home/umfcst/UMRiderLogs/hysplit/bsub/um2grb2.anl.18hr.err.%J.hybrid # error file name in which %J is replaced by the job ID
#BSUB -o /gpfs3/home/umfcst/UMRiderLogs/hysplit/bsub/um2grb2.anl.18hr.out.%J.hybrid # output file name in which %J is replaced by the job ID

# find out the directory of this bash script after submitted to bsub
DIR="$( cd "$( dirname "${BASH_SOURCE[1]}" )" && pwd )"

# get the absolute path of the local table
localTable_relative_dir="$DIR/../../tables/local/ncmr/v1/"
localTable_absolute_dir="$( cd "$localTable_relative_dir" && pwd )"
localTable=$localTable_absolute_dir/ncmr_grib2_local_table

# get the absolute path of the script for analysis 18utc
g2scripts_relative_dir="$DIR/../../g2scripts/"
g2scripts_absolute_dir="$( cd "$g2scripts_relative_dir" && pwd )"
g2script=$g2scripts_absolute_dir/um2grb2_anl_18Z.py

# export the configure paths to needed variables
export UMRIDER_SETUP=$DIR/ncum_global_hysplit_input_um2grb2_setup.cfg
export UMRIDER_VARS=$DIR/ncum_global_hysplit_input_um2grb2_anl_vars.cfg
export GRIB2TABLE=$localTable

echo "export UMRIDER_SETUP="$UMRIDER_SETUP
echo "export UMRIDER_VARS="$UMRIDER_VARS
echo "export GRIB2TABLE="$GRIB2TABLE

# sourcing umtid_bashrc to load module python-uvcdat-iris!
source "$DIR/../umtid_bashrc"
# execute the script
python $g2script

Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
#!/bin/bash
#
#BSUB -a poe # set parallel operating environment
#BSUB -J u2g2hysplit # job name
#BSUB -W 06:00 # wall-clock time (hrs:mins)
#BSUB -n 16 # number of tasks in job (max task in one node)
#BSUB -x # exclusive mode
#BSUB -R span[ptile=16] # task per node
#BSUB -q ultra # queue
#BSUB -e /gpfs3/home/umfcst/UMRiderLogs/hysplit/bsub/um2grb2.fcst.00hr.err.%J.hybrid # error file name in which %J is replaced by the job ID
#BSUB -o /gpfs3/home/umfcst/UMRiderLogs/hysplit/bsub/um2grb2.fcst.00hr.out.%J.hybrid # output file name in which %J is replaced by the job ID

# find out the directory of this bash script after submitted to bsub
DIR="$( cd "$( dirname "${BASH_SOURCE[1]}" )" && pwd )"

# get the absolute path of the local table
localTable_relative_dir="$DIR/../../tables/local/ncmr/v1/"
localTable_absolute_dir="$( cd "$localTable_relative_dir" && pwd )"
localTable=$localTable_absolute_dir/ncmr_grib2_local_table

# get the absolute path of the script for forecast 00utc
g2scripts_relative_dir="$DIR/../../g2scripts/"
g2scripts_absolute_dir="$( cd "$g2scripts_relative_dir" && pwd )"
g2script=$g2scripts_absolute_dir/um2grb2_fcst_00Z.py

# export the configure paths to needed variables
export UMRIDER_SETUP=$DIR/ncum_global_hysplit_input_um2grb2_setup.cfg
export UMRIDER_VARS=$DIR/ncum_global_hysplit_input_um2grb2_fcst_vars.cfg
export GRIB2TABLE=$localTable

echo "export UMRIDER_SETUP="$UMRIDER_SETUP
echo "export UMRIDER_VARS="$UMRIDER_VARS
echo "export GRIB2TABLE="$GRIB2TABLE

# sourcing umtid_bashrc to load module python-uvcdat-iris!
source "$DIR/../umtid_bashrc"
# execute the script
python $g2script

Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
##############################################################################
## vars configure file: Used for the purpose of um2grb2 conversion of only ##
## needed NCUM model out variables. um2grb2 python parallel scripts will ##
## create analysis and forecast files, by conveting to gri2 file only for ##
## for the following cf_standard_name and varSTASH coded vars. ##
## ##
## NCUM GLOBAL MODEL OSF INPUT PREPARATION PROCESSING VARS CONFIGURE FILE ##
## ##
## Author : Arulalan <arulalan@ncmrwf.gov.in> ##
## Updated : 25-May-2017 ##
##############################################################################

##### BEGIN OF UMRIDER VARS CONFIGURE FOR um2grb2 SCRIPTS ######
## Pressure Level Variable names & STASH codes
('x_wind', 'm01s15i201')
('y_wind', 'm01s15i202')
('geopotential_height', 'm01s16i202')
# Instead of ('surface_altitude', 'm01s00i033') i.e. orography, model needs to written as below.
('surface_geopotential_height', 'm01s00i033')
('relative_humidity', 'm01s16i256')
('specific_humidity', 'm01s30i205')
('air_temperature', 'm01s16i203')
('upward_air_velocity_in_pascal', 'm01s15i242')
## Non Pressure Level Variable names & STASH codes
('x_wind', 'm01s03i225')
('y_wind', 'm01s03i226')
('air_temperature', 'm01s03i236')
('specific_humidity', 'm01s03i237')
('surface_air_pressure', 'm01s00i409')
('atmosphere_boundary_layer_thickness', 'm01s00i025')
##### END OF UMRIDER VARS CONFIGURE um2grb2 SCRIPTS ######
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
##############################################################################
## vars configure file: Used for the purpose of um2grb2 conversion of only ##
## needed NCUM model out variables. um2grb2 python parallel scripts will ##
## create analysis and forecast files, by conveting to gri2 file only for ##
## for the following cf_standard_name and varSTASH coded vars. ##
## ##
## NCUM GLOBAL MODEL OSF INPUT PREPARATION PROCESSING VARS CONFIGURE FILE ##
## ##
## Author : Arulalan <arulalan@ncmrwf.gov.in> ##
## Updated : 25-May-2017 ##
##############################################################################

##### BEGIN OF UMRIDER VARS CONFIGURE FOR um2grb2 SCRIPTS ######
## Pressure Level Variable names & STASH codes
('x_wind', 'm01s15i201')
('y_wind', 'm01s15i202')
('geopotential_height', 'm01s16i202')
# Instead of ('surface_altitude', 'm01s00i033') i.e. orography, model needs to written as below.
##('surface_geopotential_height', 'm01s00i033') # not avilable for fcst.
('relative_humidity', 'm01s16i256')
('specific_humidity', 'm01s30i205')
('air_temperature', 'm01s16i203')
('upward_air_velocity_in_pascal', 'm01s15i242')
## Non Pressure Level Variable names & STASH codes
('x_wind', 'm01s03i225')
('y_wind', 'm01s03i226')
('air_temperature', 'm01s03i236')
('specific_humidity', 'm01s03i237')
('surface_air_pressure', 'm01s00i409')
('atmosphere_boundary_layer_thickness', 'm01s00i025')
##### END OF UMRIDER VARS CONFIGURE um2grb2 SCRIPTS ######
Loading