I carried out an experiment, in which the ini and bry conditions, as well as the atmosphere forcing, were made on my own.
At last, I obtained several nc files, namely the his.nc and avg.nc.
I checked the file, and the header part is below:
Code: Select all
>> nc_dump('roms_his.nc')
NetCDF roms_his.nc {
dimensions:
xi_rho = 43 ;
xi_u = 42 ;
eta_rho = 44 ;
eta_v = 43 ;
s_rho = 32 ;
s_w = 33 ;
time = UNLIMITED ; (11 currently)
auxil = 4 ;
variables:
// Preference 'PRESERVE_FVD': false,
// dimensions consistent with ncBrowse, not with native MATLAB netcdf package.
char spherical([]), shape = [1]
:long_name = "grid type logical switch"
:option_T = "spherical"
:option_F = "cartesian"
single xl([]), shape = [1]
:long_name = "domain length in the XI-direction"
:units = "meter"
single el([]), shape = [1]
:long_name = "domain length in the ETA-direction"
:units = "meter"
single xi_rho(xi_rho), shape = [43]
:long_name = "x-dimension of the grid"
:standard_name = "x_grid_index"
:axis = "X"
:c_grid_dynamic_range = "2:42"
single xi_u(xi_u), shape = [42]
:long_name = "x-dimension of the grid at u location"
:standard_name = "x_grid_index_at_u_location"
:axis = "X"
:c_grid_axis_shift = 0.500000 f
:c_grid_dynamic_range = "2:41"
single eta_rho(eta_rho), shape = [44]
:long_name = "y-dimension of the grid"
:standard_name = "y_grid_index"
:axis = "Y"
:c_grid_dynamic_range = "2:43"
single eta_v(eta_v), shape = [43]
:long_name = "y-dimension of the grid at v location"
:standard_name = "x_grid_index_at_v_location"
:axis = "Y"
:c_grid_axis_shift = 0.500000 f
:c_grid_dynamic_range = "2:42"
single s_rho(s_rho), shape = [32]
:long_name = "S-coordinate at RHO-points"
:axis = "Z"
:positive = "up"
:standard_name = "ocean_s_coordinate_g1"
:formula_terms = "s: sc_r C: Cs_r eta: zeta depth: h depth_c: hc"
single s_w(s_w), shape = [33]
:long_name = "S-coordinate at W-points"
:axis = "Z"
:positive = "up"
:c_grid_axis_shift = -0.500000 f
:standard_name = "ocean_s_coordinate_g1_at_w_location"
:formula_terms = "s: sc_w C: Cs_w eta: zeta depth: h depth_c: hc"
single sc_r(s_rho), shape = [32]
:long_name = "ocean s roms coordinate at rho point"
:Vtransform = "1"
single sc_w(s_w), shape = [33]
:long_name = "ocean s roms coordinate at w point"
:Vtransform = "1"
single Cs_r(s_rho), shape = [32]
:long_name = "S-coordinate stretching curves at RHO-points"
single Cs_w(s_w), shape = [33]
:long_name = "S-coordinate stretching curves at W-points"
single hc([]), shape = [1]
:long_name = "S-coordinate parameter, critical depth"
:units = "meter"
single h(eta_rho,xi_rho), shape = [44 43]
:long_name = "bathymetry at RHO-points"
:units = "meter"
:field = "bath, scalar"
:standard_name = "model_sea_floor_depth_below_geoid"
:coordinates = "lat_rho lon_rho"
single f(eta_rho,xi_rho), shape = [44 43]
:long_name = "Coriolis parameter at RHO-points"
:units = "second-1"
:field = "coriolis, scalar"
:standard_name = "coriolis_parameter"
:coordinates = "lat_rho lon_rho"
single pm(eta_rho,xi_rho), shape = [44 43]
:long_name = "curvilinear coordinates metric in X"
:units = "meter-1"
:field = "pm, scalar"
:coordinates = "lat_rho lon_rho"
:standard_name = "inverse_of_cell_x_size"
single pn(eta_rho,xi_rho), shape = [44 43]
:long_name = "curvilinear coordinates metric in ET"
:units = "meter-1"
:field = "pn, scalar"
:coordinates = "lat_rho lon_rho"
:standard_name = "inverse_of_cell_y_size"
single lon_rho(eta_rho,xi_rho), shape = [44 43]
:long_name = "longitude of RHO-points"
:units = "degree_east"
:field = "lon_rho, scalar"
:standard_name = "longitude"
single lat_rho(eta_rho,xi_rho), shape = [44 43]
:long_name = "latitude of RHO-points"
:units = "degree_north"
:field = "lat_rho, scalar"
:standard_name = "latitude"
single lon_u(eta_rho,xi_u), shape = [44 42]
:long_name = "longitude of U-points"
:units = "degree_east"
:field = "lon_u, scalar"
:standard_name = "longitude_at_u_location"
single lat_u(eta_rho,xi_u), shape = [44 42]
:long_name = "latitude of U-points"
:units = "degree_north"
:field = "lat_u, scalar"
:standard_name = "latitude_at_u_location"
single lon_v(eta_v,xi_rho), shape = [43 43]
:long_name = "longitude of V-points"
:units = "degree_east"
:field = "lon_v, scalar"
:standard_name = "longitude_at_v_location"
single lat_v(eta_v,xi_rho), shape = [43 43]
:long_name = "latitude of V-points"
:units = "degree_north"
:field = "lat_v, scalar"
:standard_name = "latitude_at_v_location"
single angle(eta_rho,xi_rho), shape = [44 43]
:long_name = "angle between XI-axis and EAST"
:units = "radians"
:field = "angle, scalar"
:coordinates = "lat_rho lon_rho"
single mask_rho(eta_rho,xi_rho), shape = [44 43]
:long_name = "mask on RHO-points"
:option_0 = "land"
:option_1 = "water"
:standard_name = "land_binary_mask"
:coordinates = "lat_rho lon_rho"
int32 time_step(time,auxil), shape = [11 4]
:long_name = "time step and record numbers from initialization"
single scrum_time(time), shape = [11]
:long_name = "time since initialization"
:units = "second"
:field = "time, scalar, series"
:standard_name = "time"
:axis = "T"
:time_origin = ""
single time(time), shape = [11]
:long_name = "time since initialization"
:units = "second"
:field = "time, scalar, series"
:standard_name = "time"
:axis = "T"
:time_origin = ""
single zeta(time,eta_rho,xi_rho), shape = [11 44 43]
:long_name = "free-surface"
:units = "meter"
:field = "free-surface, scalar, series"
:standard_name = "sea_surface_height"
:coordinates = "lat_rho lon_rho"
single ubar(time,eta_rho,xi_u), shape = [11 44 42]
:long_name = "vertically integrated u-momentum component"
:units = "meter second-1"
:field = "ubar-velocity, scalar, series"
:standard_name = "barotropic_sea_water_x_velocity_at_u_location"
:coordinates = "lat_u lon_u"
single vbar(time,eta_v,xi_rho), shape = [11 43 43]
:long_name = "vertically integrated v-momentum component"
:units = "meter second-1"
:field = "vbar-velocity, scalar, series"
:standard_name = "barotropic_sea_water_y_velocity_at_v_location"
:coordinates = "lat_v lon_v"
single u(time,s_rho,eta_rho,xi_u), shape = [11 32 44 42]
:long_name = "u-momentum component"
:units = "meter second-1"
:field = "u-velocity, scalar, series"
:standard_name = "sea_water_x_velocity_at_u_location"
:coordinates = "lat_u lon_u"
single v(time,s_rho,eta_v,xi_rho), shape = [11 32 43 43]
:long_name = "v-momentum component"
:units = "meter second-1"
:field = "v-velocity, scalar, series"
:standard_name = "sea_water_y_velocity_at_v_location"
:coordinates = "lat_v lon_v"
single temp(time,s_rho,eta_rho,xi_rho), shape = [11 32 44 43]
:long_name = "potential temperature"
:units = "Celsius"
:field = "temperature, scalar, series"
:standard_name = "sea_water_temperature"
:coordinates = "lat_rho lon_rho"
single salt(time,s_rho,eta_rho,xi_rho), shape = [11 32 44 43]
:long_name = "salinity"
:units = "PSU"
:field = "salinity, scalar, series"
:standard_name = "sea_water_salinity"
:coordinates = "lat_rho lon_rho"
single w(time,s_rho,eta_rho,xi_rho), shape = [11 32 44 43]
:long_name = "vertical momentum component"
:units = "meter second-1"
:field = "w-velocity, scalar, series"
:standard_name = "upward_sea_water_velocity"
:coordinates = "lat_rho lon_rho"
single bostr(time,eta_rho,xi_rho), shape = [11 44 43]
:long_name = "Kinematic bottom stress"
:units = "N/m2"
:coordinates = "lat_rho lon_rho"
single wstr(time,eta_rho,xi_rho), shape = [11 44 43]
:long_name = "Kinematic wind stress"
:units = "N/m2"
:standard_name = "magnitude_of_surface_downward_stress"
:coordinates = "lat_rho lon_rho"
single sustr(time,eta_rho,xi_u), shape = [11 44 42]
:long_name = "Kinematic u wind stress component"
:units = "N/m2"
:standard_name = "surface_downward_eastward_stress"
:coordinates = "lat_u lon_u"
single svstr(time,eta_v,xi_rho), shape = [11 43 43]
:long_name = "Kinematic v wind stress component"
:units = "N/m2"
:standard_name = "surface_downward_northward_stress"
:coordinates = "lat_v lon_v"
single diff3d(time,s_rho,eta_rho,xi_rho), shape = [11 32 44 43]
:long_name = "horizontal diffusivity coefficient"
:units = "meter4 second-1"
:field = "diff3d, scalar, series"
:standard_name = "ocean_tracer_xy_biharmonic_diffusivity"
:coordinates = "lat_rho lon_rho"
single AKt(time,s_w,eta_rho,xi_rho), shape = [11 33 44 43]
:long_name = "temperature vertical diffusion coefficient"
:units = "meter2 second-1"
:field = "AKt, scalar, series"
:standard_name = "ocean_vertical_heat_diffusivity_at_w_location"
:coordinates = "lat_rho lon_rho"
single hbl(time,eta_rho,xi_rho), shape = [11 44 43]
:long_name = "depth of planetary boundary layer"
:units = "meter"
:field = "hbl, scalar, series"
:standard_name = "ocean_mixed_layer_thickness_defined_by_mixing_scheme"
:coordinates = "lat_rho lon_rho"
single hbbl(time,eta_rho,xi_rho), shape = [11 44 43]
:long_name = "depth of bottom boundary layer"
:units = "meter"
:field = "hbbl, scalar, series"
:coordinates = "lat_rho lon_rho"
//global Attributes:
:type = "ROMS history file"
:title = "BENGUELA TEST MODEL"
:date = ""
:rst_file = "ROMS_FILES/roms_rst.nc"
:his_file = "ROMS_FILES/roms_his.nc"
:avg_file = "ROMS_FILES/roms_avg.nc"
:grd_file = "ROMS_FILES/roms_grd.nc"
:ini_file = "ROMS_FILES/roms_ini.nc"
:frc_file = "ROMS_FILES/roms_frc.nc"
:theta_s = 6.000000 f
:theta_s_expl = "S-coordinate surface control parameter"
:theta_b = 0.000000 f
:theta_b_expl = "S-coordinate bottom control parameter"
:Tcline = 10.000000 f
:Tcline_expl = "S-coordinate surface/bottom layer width"
:Tcline_units = "meter"
:hc = 10.000000 f
:hc_expl = "S-coordinate parameter, critical depth"
:hc_units = "meter"
:sc_w = -1.000000 -0.968750 -0.937500 -0.906250 -0.875000 -0.843750 -0.812500 -0.781250 -0.750000 -0.718750 -0.687500 -0.656250 -0.625000 -0.593750 -0.562500 -0.531250 -0.500000 -0.468750 -0.437500 -0.406250 -0.375000 -0.343750 -0.312500 -0.281250 -0.250000 -0.218750 -0.187500 -0.156250 -0.125000 -0.093750 -0.062500 -0.031250 0.000000 f
:sc_w_expl = "S-coordinate at W-points"
:Cs_w = -1.000000 -0.829027 -0.687285 -0.569776 -0.472356 -0.391592 -0.324636 -0.269125 -0.223104 -0.184949 -0.153316 -0.127088 -0.105342 -0.087309 -0.072355 -0.059953 -0.049664 -0.041126 -0.034039 -0.028151 -0.023257 -0.019182 -0.015783 -0.012942 -0.010556 -0.008543 -0.006830 -0.005359 -0.004077 -0.002938 -0.001903 -0.000935 0.000000 f
:Cs_w_expl = "S-coordinate stretching curves at W-points"
:sc_r = -0.984375 -0.953125 -0.921875 -0.890625 -0.859375 -0.828125 -0.796875 -0.765625 -0.734375 -0.703125 -0.671875 -0.640625 -0.609375 -0.578125 -0.546875 -0.515625 -0.484375 -0.453125 -0.421875 -0.390625 -0.359375 -0.328125 -0.296875 -0.265625 -0.234375 -0.203125 -0.171875 -0.140625 -0.109375 -0.078125 -0.046875 -0.015625 f
:sc_r_expl = "S-coordinate at W-points"
:Cs_r = -0.910509 -0.754836 -0.625778 -0.518785 -0.430083 -0.356546 -0.295580 -0.245037 -0.203133 -0.168392 -0.139588 -0.115706 -0.095904 -0.079483 -0.065864 -0.054568 -0.045196 -0.037418 -0.030959 -0.025591 -0.021126 -0.017406 -0.014300 -0.011697 -0.009507 -0.007653 -0.006068 -0.004697 -0.003492 -0.002410 -0.001413 -0.000465 f
:Cs_r_expl = "S-coordinate stretching curves at RHO-points"
:ntimes = 720 d
:ndtfast = 60 d
:dt = 3600.000000 f
:dtfast = 60.000000 f
:nwrt = 72 d
:ntsavg = 1 d
:ntsavg_expl = "starting time-step for accumulation of time-averaged fields"
:navg = 72 d
:navg_expl = "number of time-steps between time-averaged records"
:tnu4 = 0.000000 f
:tnu4_expl = "biharmonic mixing coefficient for tracers"
:units = "meter4 second-1"
:rdrg = 0.000300 f
:rdrg_expl = "linear drag coefficient"
:rdrg_units = "meter second-1"
:rho0 = 1025.000000 f
:rho0_expl = "Mean density used in Boussinesq approximation"
:rho0_units = "kilogram meter-3"
:gamma2 = 1.000000 f
:gamma2_expl = "Slipperiness parameter"
:x_sponge = 0.000000 f
:v_sponge = 0.000000 f
:sponge_expl = "Sponge parameters : extent (m) & viscosity (m2.s-1)"
:SRCS = "main.F step.F read_inp.F timers.F init_scalars.F init_arrays.F set_weights.F set_scoord.F ana_grid.F setup_grid1.F setup_grid2.F set_nudgcof.F ana_initial.F analytical.F zonavg.F setup_kwds.F check_kwds.F check_srcs.F check_switches1.F check_switches2.F step2d.F u2dbc.F v2dbc.F zetabc.F obc_volcons.F pre_step3d.F step3d_t.F step3d_uv1.F step3d_uv2.F prsgrd.F rhs3d.F set_depth.F omega.F uv3dmix.F uv3dmix_spg.F t3dmix.F t3dmix_spg.F hmix_coef.F u3dbc.F v3dbc.F t3dbc.F rho_eos.F ab_ratio.F alfabeta.F ana_vmix.F bvf_mix.F lmd_vmix.F lmd_skpp.F lmd_bkpp.F lmd_swfrac.F lmd_wscale.F diag.F wvlcty.F checkdims.F grid_stiffness.F bio_diag.F get_date.F lenstr.F closecdf.F ana_initracer.F insert_node.F nf_fread.F get_grid.F get_initial.F def_grid_2d.F def_grid_3d.F def_his.F def_rst.F set_avg.F wrt_grid.F wrt_his.F wrt_rst.F wrt_avg.F output.F put_global_atts.F nf_fread_x.F nf_fread_y.F def_diags.F wrt_diags.F wrt_diags_avg.F set_diags_avg.F def_diagsM.F wrt_diagsM.F wrt_diagsM_avg.F set_diagsM_avg.F def_bio_diags.F wrt_bio_diags.F wrt_bio_diags_avg.F set_bio_diags_avg.F get_vbc.F set_cycle.F get_wwave.F get_tclima.F get_uclima.F get_ssh.F get_sss.F get_smflux.F get_stflux.F get_srflux.F get_sst.F get_tides.F clm_tides.F get_bulk.F bulk_flux.F get_bry.F get_bry_bio.F nf_read_bry.F sstskin.F get_psource.F nf_add_attribute.F fillvalue.F online_bulk_var.F online_get_bulk.F online_interp.F online_interpolate_bulk.F online_set_bulk.F MPI_Setup.F MessPass2D.F MessPass3D.F exchange.F biology.F o2sato.F sediment.F bbl.F init_floats.F wrt_floats.F step_floats.F rhs_floats.F interp_rho.F def_floats.F init_arrays_floats.F random_walk.F get_initial_floats.F init_sta.F wrt_sta.F step_sta.F interp_sta.F def_sta.F init_arrays_sta.F zoom.F update2D.F set_nudgcof_fine.F zoombc_2D.F zoombc_3D.F uv3dpremix.F t3dpremix.F update3D.F ropigrid.F ropistep.F pirostep.F trcini.F trclsm.F pisces_ini.F p4zday.F p4znano.F p4zlys.F p4zdiat.F p4zopt.F p4zsink.F p4zflx.F p4zprg.F p4zslow.F p4zint.F p4zprod.F p4zmicro.F p4zlim.F p4zrem.F p4zche.F p4zbio.F p4zmeso.F p4zsink2.F p4zsed.F autotiling.F debug.F Agrif2Model.F"
:CPP-options = "REGIONAL BENGUELA_LR OBC_EAST OBC_WEST OBC_NORTH OBC_SOUTH CURVGRID SPHERICAL MASKING SOLVE3D UV_COR UV_ADV TS_HADV_RSUP3 TS_HADV_C4 TS_DIF4 TS_MIX_ISO SPONGE SPONGE_GRID LMD_MIXING LMD_SKPP LMD_BKPP LMD_RIMIX LMD_CONVEC LMD_NONLOCAL SALINITY NONLIN_EOS SPLIT_EOS ANA_DIURNAL_SW QCORRECTION SFLX_CORR CLIMATOLOGY ZCLIMATOLOGY M2CLIMATOLOGY M3CLIMATOLOGY TCLIMATOLOGY ZNUDGING M2NUDGING M3NUDGING TNUDGING ANA_BSFLUX ANA_BTFLUX OBC_M2CHARACT OBC_M3ORLANSKI OBC_TORLANSKI AVERAGES AVERAGES_K VAR_RHO_2D M2FILTER_POWER UV_VADV_SPLINES TS_MIX_IMP DIF_COEF_3D TS_VADV_AKIMA SPONGE_DIF2 SPONGE_VIS2 DBLEPREC Linux QUAD QuadZero GLOBAL_2D_ARRAY GLOBAL_1D_ARRAYXI GLOBAL_1D_ARRAYETA START_2D_ARRAY START_1D_ARRAYXI START_1D_ARRAYETA PRIVATE_1D_SCRATCH_ARRAY PRIVATE_2D_SCRATCH_ARRAY PRIVATE_1DXI_SCRATCH_ARRAY PRIVATE_1DETA_SCRATCH_ARRAY WESTERN_EDGE EASTERN_EDGE SOUTHERN_EDGE NORTHERN_EDGE MYID MPI_master_only ZEROTH_TILE SINGLE_TILE_MODE LF_AM_STEP FIRST_TIME_STEP FIRST_2D_STEP NOT_LAST_2D_STEP PUT_GRID_INTO_RESTART PUT_GRID_INTO_HISTORY PUT_GRID_INTO_AVERAGES NF_FTYPE nf_get_att_FTYPE nf_put_att_FTYPE nf_get_var1_FTYPE nf_put_var1_FTYPE nf_get_vara_FTYPE nf_put_vara_FTYPE nf_put_var_FTYPE NF_FOUT fast_indx_out"
}
When I tried to plot it, errors occur like:
Code: Select all
>> grd = roms_get_grid('roms_his.nc','roms_his.nc')
Warning: Variable not found: mask_psi
> In roms_get_grid at 81
Warning: Variable not found: mask_u
> In roms_get_grid at 81
Warning: Variable not found: mask_v
> In roms_get_grid at 81
Warning: lon_psi not found. Substituting x/y coords instead
> In roms_get_grid at 114
??? Reference to non-existent field 'x_psi'.
Error in ==> roms_get_grid at 120
grd.(vname) = grd.(usevname);
thank you!