Scheduled Downtime
On Friday 21 April 2023 @ 5pm MT, this website will be down for maintenance and expected to return online the morning of 24 April 2023 at the latest

Static field interpolation for some islands missing land points

blaylockbk

New member
Summary
After running init_atmosphere to generate a static.nc file for a 60 3-km mesh centered over Guam, there are no land points over Guam in the output; there are only water points where Guam should be.


Details
I have set up an MPAS experiment for a 60-3 km variable resolution mesh rotated over Guam.

This is my namelist.input for rotating the mesh
&input
config_original_latitude_degrees = 0
config_original_longitude_degrees = 0

config_new_latitude_degrees = 13.3824
config_new_longitude_degrees = 144.6973
config_birdseye_rotation_counter_clockwise_degrees = 0
/


I ran init_atmosphere with the following namelist and streams

&nhyd_model
config_init_case = 7
config_start_time = '2025-08-01_00:00:00'
config_stop_time = '2025-08-02_00:00:00'
config_theta_adv_order = 3
config_coef_3rd_order = 0.25
config_interface_projection = 'linear_interpolation'
/
&dimensions
config_nvertlevels = 55
config_nsoillevels = 4
config_nfglevels = 38
config_nfgsoillevels = 4
config_gocartlevels = 30
/
&data_sources
config_geog_data_path = '/path/to/my/mpas_static'
config_met_prefix = 'CFSR'
config_sfc_prefix = 'SST'
config_fg_interval = 86400
config_landuse_data = 'MODIFIED_IGBP_MODIS_NOAH'
config_soilcat_data = 'STATSGO'
config_topo_data = 'GMTED2010'
config_vegfrac_data = 'MODIS'
config_albedo_data = 'MODIS'
config_maxsnowalbedo_data = 'MODIS'
config_supersample_factor = 3
config_lu_supersample_factor = 1
config_30s_supersample_factor = 1
config_use_spechumd = false
/
&vertical_grid
config_ztop = 30000.0
config_nsmterrain = 1
config_smooth_surfaces = true
config_dzmin = 0.3
config_nsm = 30
config_tc_vertical_grid = true
config_blend_bdy_terrain = false
/
&interpolation_control
config_extrap_airtemp = 'lapse-rate'
/
&preproc_stages
config_static_interp = true
config_native_gwd_static = true
config_native_gwd_gsl_static = false
config_vertical_grid = false
config_met_interp = false
config_input_sst = false
config_frac_seaice = false
/
&io
config_pio_num_iotasks = 0
config_pio_stride = 1
/
&decomposition
config_block_decomp_file_prefix = 'x20.835586.graph.info.part.'
/
<streams>
<immutable_stream name="input"
type="input"
filename_template="guam.x20.835586.grid.nc"
input_interval="initial_only" />
<immutable_stream name="output"
type="output"
filename_template="guam.x20.835586.static.nc"
packages="initial_conds"
output_interval="initial_only" />
<immutable_stream name="ugwp_oro_data"
type="output"
filename_template="x1.40962.ugwp_oro_data.nc"
packages="gwd_gsl_stage_out"
output_interval="initial_only" />
<immutable_stream name="surface"
type="output"
filename_template="x1.40962.sfc_update.nc"
filename_interval="none"
packages="sfc_update"
output_interval="86400" />
<immutable_stream name="lbc"
type="output"
filename_template="lbc.$Y-$M-$D_$h.$m.$s.nc"
filename_interval="output_interval"
packages="lbcs"
output_interval="3:00:00" />
</streams>

After generating a static file, I plotted the ivgtyp and overlayed the mesh refinement, to confirm things look as expected and that my mesh is rotated to the right location.

1772656490106.png


But, when I zoom into Guam, there are no land points where Guam should be. It's all water
1772658482868.png

I can also confirm that the raw MODIS 30s tile does have Guam in it (right). I even checked with the raw MODIS 15s data (left).
1772658181824.png


Below is the MPAS cell centers from my staic.nc file, overlaid the raw MODIS 30s tile. It seems to me that there are enough MPAS cells over Guam that there should have been some cells to represent Guam in MPAS.
1772658977992.png



Question:
Is there something with how init_atmosphere is working that would prevent it from interpolating the MODIS landuse for Guam? Are there any namelist options I could change to make sure Guam landuse is handled properly in the interpolation? (Maybe I need to check that the raw topographic data has Guam in it?)
 

Attachments

  • 1772658259337.png
    1772658259337.png
    284.5 KB · Views: 2
Hi,

Thank you for the detailed description of this issue. Before I further explore what is wrong, please run a quick test with the following namelist options:

config_supersample_factor = 9
config_lu_supersample_factor = 3
config_30s_supersample_factor = 3

Let me know whether this can fix your issue. Thanks.
 
I reran init_atmosphere with the updated namelist options, and it had no effect (black outline is where Guam should be)
1772753855057.png




For a similar domain centered over Hawaii, I do get land points, even for the small islands.
This is from my mpas static.nc file centered over Hawaii
1772752904984.png


Interestingly, there are datapoints in the raw static tiles for landuse, soil, and terrain for Hawaii

1772753588438.png1772752954606.png1772753520742.png

but for Guam, the raw static tiles are missing data for the soil type.
1772753691877.png1772753786899.png 1772753816756.png




As far as I can tell, the default namelist option config_soilcat_data = 'STATSGO' option uses ./mpas_static/soiltype_top_30s/, which has no data over Guam. Could it be that init_atmosphere is masking Guam entirely, even for landuse and terrain because there is no soil data? Or maybe there is a different reason altogether it is missing Guam.



UPDATE:
It's a hunch, but I see that the BNU soil category does have soil data for Guam. I'll try making a static field using the namelist config_soilcat_data = 'BNU'

1772754833247.png
 
Last edited:
After rerunning init_atmosphere using config_soilcat_data = 'BNU' namelist option, Guam now has landuse and terrain data. 🥳

It appears the solution was simply a matter of using a soil product that has Guam in it.
1772817930639.png1772817938919.png
 
Thanks for the thorough posts with plots, and it's good to hear that switching to the BNU soil-category data resolved the issue!

I think the culprit is this code in the static processing: mpas_init_atm_static.F, lines 451-466 ,where we set both the soil category and land use category to water if either the soil category or the land use category is water for a grid cell.
 
Top