forked from wrf-model/WRF
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
commit offline programs and scripts needed for MRI-4DVAR
new file: var/mri4dvar/Makefile new file: var/mri4dvar/README.Multi_inc new file: var/mri4dvar/da_bdy.f90 new file: var/mri4dvar/da_bilin.f90 new file: var/mri4dvar/da_thin.f90 new file: var/mri4dvar/da_vp_bilin.f90 new file: var/mri4dvar/da_vp_split.f90 new file: var/mri4dvar/nc_increment.ncl new file: var/mri4dvar/nc_vpglobal.ncl new file: var/mri4dvar/nc_vphires.ncl new file: var/mri4dvar/nc_vpinput.ncl new file: var/mri4dvar/nc_vplocal.ncl new file: var/mri4dvar/rsl_lite.h new file: var/mri4dvar/run_mri3d4dvar.csh_lsf new file: var/mri4dvar/run_mri3d4dvar.csh_pbs new file: var/mri4dvar/task_for_point.c new file: var/mri4dvar/wraper_mri3d4dvar.csh
- Loading branch information
Showing
17 changed files
with
4,282 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
all: da_thin.exe da_bilin.exe da_bdy.exe da_vp_bilin.exe da_vp_split.exe | ||
|
||
include ../../configure.wrf | ||
FCOPTION=$(FCFLAGS) $(PROMOTION) $(FCSUFFIX) | ||
CCOPTION=$(CFLAGS) | ||
LIB_EXTERNAL=-L${NETCDFPATH}/lib -lnetcdf -lnetcdff | ||
|
||
da_thin.exe: da_thin.o | ||
$(SFC) -o $@ da_thin.o ${FCOPTION} $(LIB_EXTERNAL) | ||
|
||
da_thin.o: da_thin.f90 | ||
$(SFC) -c ${FCOPTION} -I$(NETCDFPATH)/include $< -o $@ | ||
|
||
da_bilin.exe: da_bilin.o | ||
$(SFC) -o $@ ${FCOPTION} da_bilin.o $(LIB_EXTERNAL) | ||
|
||
da_bilin.o: da_bilin.f90 | ||
$(SFC) -c ${FCOPTION} -I$(NETCDFPATH)/include $< -o $@ | ||
|
||
da_vp_bilin.exe: da_vp_bilin.o | ||
$(SFC) -o $@ ${FCOPTION} da_vp_bilin.o | ||
|
||
da_vp_bilin.o: da_vp_bilin.f90 | ||
$(SFC) -c ${FCOPTION} $< -o $@ | ||
|
||
da_bdy.exe: da_bdy.o | ||
$(SFC) -o $@ ${FCOPTION} da_bdy.o $(LIB_EXTERNAL) | ||
|
||
da_bdy.o: da_bdy.f90 | ||
$(SFC) -c ${FCOPTION} -I$(NETCDFPATH)/include $< -o $@ | ||
|
||
task_for_point.o: task_for_point.c | ||
$(DM_CC) -c ${CCOPTION} $< -o $@ | ||
|
||
da_vp_split.exe: da_vp_split.o task_for_point.o | ||
$(DM_FC) -o $@ ${FCOPTION} da_vp_split.o task_for_point.o | ||
|
||
da_vp_split.o: da_vp_split.f90 | ||
$(DM_FC) -c ${FCOPTION} $< -o $@ | ||
|
||
clean: | ||
rm -rf *.o da_thin.exe da_bilin.exe da_bdy.exe da_vp_bilin.exe da_vp_split.exe |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
1. How to build the 'tools' | ||
|
||
Set 'NETCDF' to your netcdf path and 'SFC' to the same Fortran 90 compiler | ||
which used to build the NETCDF lib | ||
|
||
For csh, tcsh | ||
setenv NETCDF /your/netcdf/path | ||
setenv SFC pgf90 | ||
For bash, ksh | ||
export NETCDF=/your/netcdf/path | ||
export SFC=pgf90 | ||
|
||
then run 'make' to build the tools | ||
|
||
notes: It depends on how NETCDF was build, '-lcurl' may need to be removed | ||
or the path of libcurl need to be specified. | ||
|
||
2. Domain size requirment | ||
|
||
Only WRF input files at high resolution are required to run multi-inc 4DVAR. | ||
WRF input files at low reselution are thinned from those at high resolution. | ||
This requires that grid number at high/low reselutions to satify: | ||
( n - 1 ) mod m = 0 | ||
where n is the grid number of high resolution in x or y direction, m is the | ||
grid number of low resolution in x or y direction. | ||
|
||
The ratio of the high/low resolution must be odd, the default ration is 1:3. | ||
|
||
3. First guess files | ||
|
||
Multi-incremental 4DVAR run needs 2 time-level first guess files (fg & fg02), | ||
|
||
fg is at the analysis time | ||
|
||
fg02 is at the end of the analysis time window, or the 2nd time level of boundary | ||
if boundary interval is less then analysis time window | ||
|
||
4. BE | ||
Multi-incremental 4DVAR run only needs the low resolution BE | ||
|
||
5. How the wrapper script works | ||
|
||
What does this wrapper script CAN NOT DO? | ||
|
||
This wrapper script DOES NOT DO these | ||
|
||
link/copy any run-time files which needed by 4DVAR run | ||
generate/prepare namelist.input for 4DVAR run | ||
update boundary condition | ||
|
||
What does this wrapper CAN DO? | ||
|
||
This wrapper script DOES these | ||
|
||
generate low resolution fg & bdy by using the high resolution fg & fg02 | ||
switch da_wrfvar.exe between stage1 & stage2 | ||
amend namelist.input for appropriate stage | ||
interpolate low resolution incremental to high resolution | ||
|
||
This wrapper script supposes these are done | ||
|
||
1) EVERYTHING IS OK FOR A STANDARD 4DVAR RUN under the run direcotry, | ||
such as be.dat, namelist.input, *.tbl, fg, fg02, wrfbdy_d01, da_wrfvar.exe, | ||
da_update_bc, ob*, etc. | ||
|
||
2) Environment variables 'MULTI_INC_TOOLS' points to the location of these | ||
tools | ||
|
||
da_bdy.exe | ||
da_bilin.exe | ||
da_thin.exe | ||
|
||
3) Environment variables 'RUN_CMD' is already set to specific job submit command | ||
instead of the default "mpirun -np 16 " | ||
|
||
4) namelist.input is already for a standard 4DVAR RUN (in high resolution) | ||
|
||
If everything is ready to go, just link/copy the wrapper script to the run | ||
directory, call this wrapper script instead of da_wrfvar.exe for the | ||
Multi-incremental 4DVAR run. | ||
|
||
6. Platform | ||
|
||
All the commands involved by this script are GNU/Linux commands on CentOS box. | ||
If involved this script other than CentOS, commands may not run as your expect, | ||
double check it before using. |
Oops, something went wrong.