Skip to content

Commit

Permalink
Merge pull request wrf-model#11 from phawbeck/feature/bathymetry
Browse files Browse the repository at this point in the history
FINO WRF setup
  • Loading branch information
hawbecker authored Feb 14, 2020
2 parents fee23a7 + 237fe25 commit 57a158d
Show file tree
Hide file tree
Showing 15 changed files with 1,361 additions and 0 deletions.
137 changes: 137 additions & 0 deletions FINO_20100513to26/plotgrids_old.ncl
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@

; Script display location of model domains
; Only works for ARW domains
; Reads namelist file directly

load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/wrf/WRFUserARW.ncl"
;load "./WRFUserARW.ncl"

begin
;

; We generate plots, but what kind do we prefer?
type = "x11"
; type = "pdf"
; type = "ps"
; type = "ncgm"
wks = gsn_open_wks(type,"wps_show_dom")

; read the following namelist file
filename = "./templates/namelist.wps.template"


; Set the colors to be used
colors = (/"white","black","White","ForestGreen","DeepSkyBlue","Red","Blue"/)
gsn_define_colormap(wks, colors)


; Set some map information ; line and text information
mpres = True
mpres@mpFillOn = True
mpres@mpFillColors = (/"background","DeepSkyBlue","ForestGreen","DeepSkyBlue", "transparent"/)
mpres@mpGeophysicalLineColor = "Black"
mpres@mpGridLineColor = "Black"
mpres@mpLimbLineColor = "Black"
mpres@mpNationalLineColor = "Black"
mpres@mpPerimLineColor = "Black"
mpres@mpUSStateLineColor = "Black"
;mpres@mpGridSpacingF = 45
mpres@tiMainString = " WPS Domain Configuration "

lnres = True
lnres@gsLineThicknessF = 2.5
lnres@domLineColors = (/ "white", "Red" , "Red" , "Blue" /)

txres = True
txres@txFont = "helvetica-bold"
;txres@txJust = "BottomLeft"
txres@txJust = "TopLeft"
txres@txPerimOn = False
txres@txFontHeightF = 0.015

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Do not change anything between the ";;;;;" lines

mpres@max_dom = stringtoint (systemfunc("grep max_dom " +filename+ " | cut -f2 -d'=' | cut -f1 -d','" ) )
mpres@dx = stringtofloat(systemfunc("grep dx " +filename+ " | cut -f2 -d'=' | cut -f1 -d','" ) )
mpres@dy = stringtofloat(systemfunc("grep dy " +filename+ " | cut -f2 -d'=' | cut -f1 -d','" ) )
mpres@ref_lat = stringtofloat(systemfunc("grep ref_lat " +filename+ " | cut -f2 -d'=' | cut -f1 -d','" ) )
mpres@ref_lon = stringtofloat(systemfunc("grep ref_lon " +filename+ " | cut -f2 -d'=' | cut -f1 -d','" ) )
test = systemfunc("grep truelat1 " +filename )
if ( .not. ismissing(test) )
mpres@truelat1 = stringtofloat(systemfunc("grep truelat1 " +filename+ " | cut -f2 -d'=' | cut -f1 -d','" ) )
else
mpres@truelat1 = 0.0
end if
test = systemfunc("grep truelat2 " +filename )
if ( .not. ismissing(test) )
mpres@truelat2 = stringtofloat(systemfunc("grep truelat2 " +filename+ " | cut -f2 -d'=' | cut -f1 -d','" ) )
else
mpres@truelat2 = 0.0
end if
mpres@stand_lon = stringtofloat(systemfunc("grep stand_lon " +filename+ " | cut -f2 -d'=' | cut -f1 -d','" ) )

test = systemfunc("grep lambert " +filename )
if ( .not. ismissing(test) )
mpres@map_proj = "lambert"
end if
test = systemfunc("grep mercator " +filename )
if ( .not. ismissing(test) )
mpres@map_proj = "mercator"
end if
test = systemfunc("grep polar " +filename )
if ( .not. ismissing(test) )
mpres@map_proj = "polar"
end if
testa = systemfunc("grep 'lat-lon' " +filename )
if ( .not. ismissing(testa) )
mpres@map_proj = "lat-lon"
mpres@pole_lat = stringtofloat(systemfunc("grep pole_lat " +filename+ " | cut -f2 -d'=' | cut -f1 -d','" ) )
mpres@pole_lon = stringtofloat(systemfunc("grep pole_lon " +filename+ " | cut -f2 -d'=' | cut -f1 -d','" ) )
end if

parent_id = new ( mpres@max_dom , integer )
parent_grid_ratio = new ( mpres@max_dom , integer )
i_parent_start = new ( mpres@max_dom , integer )
j_parent_start = new ( mpres@max_dom , integer )
e_we = new ( mpres@max_dom , integer )
e_sn = new ( mpres@max_dom , integer )

do n = 1, mpres@max_dom

n0 = n - 1
parent_id(n0) = stringtoint(systemfunc("grep parent_id " +filename+ " | cut -f2 -d'=' | cut -f"+n+" -d','" ) )
parent_grid_ratio(n0) = stringtoint(systemfunc("grep parent_grid_ratio " +filename+ " | cut -f2 -d'=' | cut -f"+n+" -d','" ) )
i_parent_start(n0) = stringtoint(systemfunc("grep i_parent_start " +filename+ " | cut -f2 -d'=' | cut -f"+n+" -d','" ) )
j_parent_start(n0) = stringtoint(systemfunc("grep j_parent_start " +filename+ " | cut -f2 -d'=' | cut -f"+n+" -d','" ) )
e_we(n0) = stringtoint(systemfunc("grep e_we " +filename+ " | cut -f2 -d'=' | cut -f"+n+" -d','" ) )
e_sn(n0) = stringtoint(systemfunc("grep e_sn " +filename+ " | cut -f2 -d'=' | cut -f"+n+" -d','" ) )

end do

mpres@parent_id = parent_id
mpres@parent_grid_ratio = parent_grid_ratio
mpres@i_parent_start = i_parent_start
mpres@j_parent_start = j_parent_start
mpres@e_we = e_we
mpres@e_sn = e_sn

mp = wrf_wps_dom (wks,mpres,lnres,txres)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; Now you can add some information to the plot.
; Below is an example of adding a white dot over the DC location.
pmres = True
pmres@gsMarkerColor = "White"
pmres@gsMarkerIndex = 16
pmres@gsMarkerSizeF = 0.01
gsn_polymarker(wks,mp,6.587638,54.0148,pmres)
gsn_polymarker(wks,mp,13.15418,55.0069,pmres)
gsn_polymarker(wks,mp,7.158333,55.1950,pmres)


frame(wks) ; lets frame the plot - do not delete

end
13 changes: 13 additions & 0 deletions FINO_20100513to26/templates/link_erai_template.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/bin/bash
ln -s /glade/collections/rda/data/ds627.0/ei.oper.an.pl/YY1MM1/ei.oper.an.pl.regn128sc.YY1MM1DD100
ln -s /glade/collections/rda/data/ds627.0/ei.oper.an.pl/YY1MM1/ei.oper.an.pl.regn128uv.YY1MM1DD100
ln -s /glade/collections/rda/data/ds627.0/ei.oper.an.pl/YY1MM1/ei.oper.an.pl.regn128sc.YY1MM1DD106
ln -s /glade/collections/rda/data/ds627.0/ei.oper.an.pl/YY1MM1/ei.oper.an.pl.regn128uv.YY1MM1DD106
ln -s /glade/collections/rda/data/ds627.0/ei.oper.an.pl/YY1MM1/ei.oper.an.pl.regn128sc.YY1MM1DD112
ln -s /glade/collections/rda/data/ds627.0/ei.oper.an.pl/YY1MM1/ei.oper.an.pl.regn128uv.YY1MM1DD112
ln -s /glade/collections/rda/data/ds627.0/ei.oper.an.pl/YY1MM1/ei.oper.an.pl.regn128sc.YY1MM1DD118
ln -s /glade/collections/rda/data/ds627.0/ei.oper.an.pl/YY1MM1/ei.oper.an.pl.regn128uv.YY1MM1DD118
ln -s /glade/collections/rda/data/ds627.0/ei.oper.an.sfc/YY1MM1/ei.oper.an.sfc.regn128sc.YY1MM1DD100
ln -s /glade/collections/rda/data/ds627.0/ei.oper.an.sfc/YY1MM1/ei.oper.an.sfc.regn128sc.YY1MM1DD106
ln -s /glade/collections/rda/data/ds627.0/ei.oper.an.sfc/YY1MM1/ei.oper.an.sfc.regn128sc.YY1MM1DD112
ln -s /glade/collections/rda/data/ds627.0/ei.oper.an.sfc/YY1MM1/ei.oper.an.sfc.regn128sc.YY1MM1DD118
10 changes: 10 additions & 0 deletions FINO_20100513to26/templates/link_narr_template.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#!/bin/bash
ln -s /glade/collections/rda/data/ds608.0/3HRLY/2013/NARRflx_201311_0108.tar
ln -s /glade/collections/rda/data/ds608.0/3HRLY/2013/NARRpbl_201311_0109.tar
ln -s /glade/collections/rda/data/ds608.0/3HRLY/2013/NARRsfc_201311_0109.tar
ln -s /glade/collections/rda/data/ds608.0/3HRLY/2013/NARRclm_201311_0130.tar
ln -s /glade/collections/rda/data/ds608.0/3HRLY/2013/NARR3D_201311_0709.tar
ln -s /glade/collections/rda/data/ds608.0/3HRLY/2013/NARRflx_201311_0916.tar
ln -s /glade/collections/rda/data/ds608.0/3HRLY/2013/NARR3D_201311_1012.tar
ln -s /glade/collections/rda/data/ds608.0/3HRLY/2013/NARRpbl_201311_1019.tar
ln -s /glade/collections/rda/data/ds608.0/3HRLY/2013/NARRsfc_201311_1019.tar
146 changes: 146 additions & 0 deletions FINO_20100513to26/templates/namelist.input.template_ERA
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
&time_control
run_days = 0,
run_hours = NHOURS,
run_minutes = 0,
run_seconds = 0,
start_year = YY1, YY1, YY1, YY1, YY1,
start_month = MM1, MM1, MM1, MM1, MM1,
start_day = DD1, DD1, DD1, DD1, DD1,
start_hour = HH1, HH1, HH1, HH1, HH1,
start_minute = 00, 00, 00, 00, 00,
start_second = 00, 00, 00, 00, 00,
end_year = YY2, YY2, YY2, YY2, YY2,
end_month = MM2, MM2, MM2, MM2, MM2,
end_day = DD2, DD2, DD2, DD2, DD2,
end_hour = HH2, HH2, HH2, HH2, HH2,
end_minute = 00, 00, 00, 00, 00,
end_second = 00, 00, 00, 00, 00,
interval_seconds = 21600,
input_from_file = .true.,.true.,.true.,.true.,.true.,
restart = .false.,
restart_interval = 720,
io_form_history = 2
io_form_restart = 2
io_form_input = 2
io_form_boundary = 2
history_interval = 120, 60, 60, 10, 10,
frames_per_outfile = 1, 1, 1, 1, 1,
! auxhist15_begin_h = 0, 0, 0,
! auxhist15_end_h = 0, 60, 60,
! auxhist15_interval_m = 0, 10, 10,
! auxhist15_outname = "auxout/mmc_d<domain>_<date>",
! frames_per_auxhist15 = 0, 6, 6,
! io_form_auxhist15 = 2,
iofields_filename = "myoutfields.txt","myoutfields.txt","myoutfields.txt","myoutfields.txt"
ignore_iofields_warning = .true.,
debug_level = 0

/

&domains
time_step = 90,
time_step_fract_num = 0,
time_step_fract_den = 1,
max_dom = MAXDOM,
max_ts_locs = 999,
max_ts_level = 88,
tslist_unstagger_winds = .true.,
s_we = 1, 1, 1, 1, 1,
e_we = 154, 175, 292, 304, 730,
s_sn = 1, 1, 1, 1, 1,
e_sn = 133, 133, 202, 304, 601,
s_vert = 1, 1, 1, 1, 1,
e_vert = 88, 88, 88, 88, 88
eta_levels = 1.00000, 0.99935, 0.99871, 0.99806,
0.99742, 0.99677, 0.99609, 0.99538,
0.99464, 0.99386, 0.99304, 0.99218,
0.99127, 0.99032, 0.98933, 0.98829,
0.98719, 0.98605, 0.98484, 0.98358,
0.98226, 0.98087, 0.97941, 0.97789,
0.97629, 0.97461, 0.97285, 0.97101,
0.96908, 0.96705, 0.96493, 0.96271,
0.96038, 0.95793, 0.95538, 0.95270,
0.94989, 0.94696, 0.94388, 0.94066,
0.93729, 0.93360, 0.92955, 0.92512,
0.92026, 0.91495, 0.90914, 0.90278,
0.89584, 0.88825, 0.87997, 0.87095,
0.86112, 0.85042, 0.83879, 0.82617,
0.81247, 0.79764, 0.78161, 0.76430,
0.74566, 0.72562, 0.70412, 0.68112,
0.65658, 0.63048, 0.60281, 0.57359,
0.54285, 0.51066, 0.47711, 0.44234,
0.40652, 0.36985, 0.33259, 0.29501,
0.25746, 0.22028, 0.18491, 0.15347,
0.12553, 0.10069, 0.07861, 0.05898,
0.04154, 0.02603, 0.01225, 0.00000,
p_top_requested = 10000,
num_metgrid_levels = 38,
num_metgrid_soil_levels = 4,
dx = 27000,9000,3000,1000,333,
dy = 27000,9000,3000,1000,333,
grid_id = 1, 2, 3, 4, 5,
parent_id = 1, 1, 2, 3, 4,
i_parent_start = 1, 51, 38, 51, 20,
j_parent_start = 1, 44, 33, 51, 20,
parent_grid_ratio = 1, 3, 3, 3, 3,
parent_time_step_ratio = 1, 3, 3, 3, 3,
feedback = 1,
smooth_option = 0,
/

&physics
mp_physics = 6, 6, 6, 10, 10,
ra_lw_physics = 1, 1, 1, 4, 4,
ra_sw_physics = 2, 2, 2, 4, 4,
radt = 9, 9, 3, 1, 1,
sf_sfclay_physics = 1, 1, 1, 2, 2,
sf_surface_physics = 2, 2, 2, 2, 2,
bl_pbl_physics = 1, 1, 1, 5, 5,
bldt = 0, 0, 0, 0, 0,
cu_physics = 1, 1, 0, 0, 0,
cudt = 5, 5, 5, 5, 5,
isfflx = 1,
ifsnow = 0,
icloud = 0,
surface_input_source = 1,
num_soil_layers = 4,
sf_urban_physics = 0, 0, 0, 0, 0,
/

&fdda
/

&dynamics
w_damping = 1,
diff_opt = 1, 1, 1, 1, 1,
km_opt = 4, 4, 4, 4, 4,
diff_6th_opt = 2, 2, 2, 2, 2,
diff_6th_factor = 0.12,0.12,0.12, 0.12, 0.12,
base_temp = 290.
damp_opt = 3,
zdamp = 5000.,5000.,5000., 5000., 5000.,
dampcoef = 0.2, 0.2, 0.2, 0.2, 0.2,
khdif = 0, 0, 0, 0, 0,
kvdif = 0, 0, 0, 0, 0,
non_hydrostatic = .true.,.true.,.true.,.true.,.true.,
moist_adv_opt = 1, 1, 1, 1, 1,
scalar_adv_opt = 1, 1, 1, 1, 1,
tke_adv_opt = 1, 1, 1, 1, 1,
h_mom_adv_order = 5, 5, 5, 5, 5,
v_mom_adv_order = 3, 3, 3, 3, 3,
h_sca_adv_order = 5, 5, 5, 5, 5,
v_sca_adv_order = 3, 3, 3, 3, 3,
/

&bdy_control
spec_bdy_width = 5,
spec_zone = 1,
relax_zone = 4,
specified = .true.,.false.,.false.,.false.,.false.,
nested = .false., .true., .true.,.true.,.true.,
/

&namelist_quilt
nio_tasks_per_group = 0,
nio_groups = 1,
/
Loading

0 comments on commit 57a158d

Please sign in to comment.