problems during the visulization of Benguela simulation

Cool Findings and Plots

Moderators: arango, robertson

Post Reply
Message
Author
kee
Posts: 44
Joined: Fri Mar 15, 2013 1:30 pm
Location: Nanjing Uni. of Info. Sci. & Tech. (nanjing institute of meterology)

problems during the visulization of Benguela simulation

#1 Post by kee » Sat Apr 06, 2013 12:16 pm

Hi,

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);
Can anyone give some ideas?

thank you!

kee
Posts: 44
Joined: Fri Mar 15, 2013 1:30 pm
Location: Nanjing Uni. of Info. Sci. & Tech. (nanjing institute of meterology)

what's the difference between ROMS and ROMS_Agrif?

#2 Post by kee » Sat Apr 06, 2013 2:38 pm

Hi,

adding more information here.

The results I obtained were simulated using Roms_Agrif version. The odd is that I can't visualize them via the tools provided by Myroms.com, just like the above discribtion.

So the questions are:
1)what's the similarities and differences bewtween these two ROMS versions?
2)can I apply the ICBC conditions made by Roms_Agrif into the other version?
3)can i visualize the results produced by Roms_Agrif via the tools provided by Myroms.com? if yes, how to do?


zhao

Post Reply