1 / 25

Regional Coastal Ocean Modeling: Tutorial

Regional Coastal Ocean Modeling: Tutorial. Roms_tools. System requirements. F95 (ifort), Matlab Netcdf library for Fortran and Matlab (MexCDF) 2 Gbites of disk space ROMS_AGRIF sources Matlab toolbox for ROMS: ROMS_tools

lucky
Télécharger la présentation

Regional Coastal Ocean Modeling: Tutorial

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Regional Coastal Ocean Modeling: Tutorial Roms_tools Patrick Marchesiello IRD 2005

  2. System requirements • F95 (ifort), Matlab • Netcdf library for Fortran and Matlab (MexCDF) • 2 Gbites of disk space • ROMS_AGRIF sources • Matlab toolbox for ROMS: ROMS_tools • Data: bathymetry, hydrography, surface fluxes global climatological datasets are included Patrick Marchesiello IRD 2005

  3. Package Patrick Marchesiello IRD 2005

  4. Pre-processing data • % cd ~/Roms_tools/Run • % matlab • >> start adds the path of different toolboxes • >> make_grid • >> make_forcing • >> make_clim • >> make_tides • >> make_biol • >> nestgui Patrick Marchesiello IRD 2005

  5. % % Title % title='Peru Test Model'; % % Grid file name % grdname='roms_grd.nc'; % % Grid dimensions: % lonmin=-85; lonmax=-75; latmin=-15; latmax=-7; % % Grid resolution [degree] % dl=1/3; % % Minimum depth [m] % hmin=10; % % Topography netcdf file name (ETOPO 2) % topofile='../Topo/etopo2.nc'; % % Slope parameter (r=grad(h)/h) maximum value for topography smoothing % rtarget=0.2; make_grid.m lon, lat, dx, dy, h L=31 M=26 h Patrick Marchesiello IRD 2005

  6. Smoothing methods • r = Δh / h is the slope of the logarithm of h • One method (ROMS): smoothingln(h) until r < rmax Res: 1 km r < 0.25 Res: 5 km r < 0.25 Senegal Bathymetry Profil Patrick Marchesiello IRD 2005

  7. Smoothing method and resolution Bathymetry Smoothing Error off Senegal Convergence at ~ 4 km resolution Standard Deviation [m] Grid Resolution [deg] Patrick Marchesiello IRD 2005

  8. Errors in Bathymetry data compilations Gebco1 compilation Etopo2: Satellite observations Shelf errors (noise) Patrick Marchesiello IRD 2005

  9. Refine the mask • >> editmask • Interactive matlab tool to modify masking according to high resolution coastline data Patrick Marchesiello IRD 2005

  10. Getting the wind forcing • >> make_forcing % % Title - Grid file name - Forcing file name % title='Forcing (COADS)'; grdname='roms_grd.nc'; frcname='roms_frc.nc'; % % % Set times and cycles: monthly climatology for all data % time=[15:30:345]; % time cycle=360; % cycle Default COADS climatological surface forcing of Da Silva et al., 1994 Patrick Marchesiello IRD 2005

  11. Patrick Marchesiello IRD 2005

  12. Modified Julian dates • MJD is a modification of the Julian Date that is routinely used by astronomers, geodesists, and even some historians. • This dating convention, designed to facilitate chronological calculations, numbers all days in consecutive fashion, beginning so as to precede the historical period. • Julian Day Number 0 is noon 1 January 4713 B.C. • MJD modifies this Julian Date in two ways. • The MJD begins at midnight rather than noon, in keeping with more standard conventions. • Secondly, for simplicity, the first two digits of the Julian Date are removed. This is because, for some three centuries following 17 November 1858, the Julian day lies between 2400000 and 2500000. The MJD drops those first "24" digits. Thus, we have • MJD = JD - 2400000.5 • To convert Julian Dates to Gregorian dates (month/day/year) we can use various converters Patrick Marchesiello IRD 2005

  13. Getting the lateral boundary conditions % % Title % title='Climatology'; % % Switches for selecting what to process (1=ON) % makeclim=1; %1: process boundary data makeoa=1; %1: process oa data makeini=1; %1: process initial data % % Grid file name - Climatology file name % Initial file name - OA file name % grdname ='roms_grd.nc'; frcname ='roms_frc.nc'; clmname ='roms_clm.nc'; ininame ='roms_ini.nc'; oaname ='roms_oa.nc'; % % Vertical grid parameters % theta_s=7.; theta_b=0.; hc=5.; N=20; % number of vertical levels (rho) • >> make_clim OA (objective analysis) files are intermediate files where hydrographic data are interpolated (extrapolated under bathymetry) and stored on a horizontal grid but on z vertical grid. The transformation to S-coordinate is done after. Patrick Marchesiello IRD 2005

  14. obc=[1 0 1 1]; % open boundaries (1=open , [S E N W]) % % Level of reference for geostrophy calculation % zref=-500; % % Day of initialization % tini=15; % % Set times and cycles: monthly climatology for all data % time=[15:30:345]; % time cycle=360; % cycle % % Data climatologies file names: % temp_month_data ='../WOA2001/temp_month.cdf'; temp_ann_data ='../WOA2001/temp_ann.cdf'; insitu2pot=1; % transform in-situ temperature to potential temperature salt_month_data ='../WOA2001/salt_month.cdf'; salt_ann_data ='../WOA2001/salt_ann.cdf'; % Patrick Marchesiello IRD 2005

  15. Patrick Marchesiello IRD 2005

  16. Getting the tides boundary conditions % % TPXO file name % tidename='../Tides/TPXO6.nc'; % % ROMS file names % gname = 'roms_grd.nc'; fname = 'roms_frc.nc'; % % Number of tides component to process % Ntides=10; % % Set start time of simulation % year = 2000; month = 1; day = 15; hr = 0.; minute = 0.; second = 0.; • >> make_tides This is where tidal information is added This is the starting time of simulation. A procedure correct phases and amplitudes (nodal corrections) for real time runs. It employs parts of a post-processing code from Egbert and Erofeeva (2002) TPXO model. Running Real-time tides requires using modified julian dates as initial time (roms_ini.nc). Patrick Marchesiello IRD 2005

  17. Getting child grids for nesting • >> nestgui Patrick Marchesiello IRD 2005

  18. Preparing the model • % vi param.h • % vi cppdefs.h • Define CPP keys that used by the C-preprocessor when compiling the model • Reduce code to its minimal size: fast compilation • Avoid fortran logical statements: efficient coding parameter (LLm0=29, MMm0=24, N=20) !       Peru Test Case Patrick Marchesiello IRD 2005

  19. PERU : Configuration Name, this is used in param.h. • OPENMP : Activate Open-MP parallelization protocol. • MPI : Activate MPI parallelization protocol. • AGRIF : Activate the nesting capabilities • SOLVE3D : Define if solving 3D primitive equations • UV_COR : Activate Coriolis terms. • UV_ADV : Activate advection terms. • SSH_TIDES : Define for processing sea surface elevation tidal data at the model boundaries. • UV_TIDES : Define for processing ocean current tidal data at the model boundaries. • VAR_RHO_2D : Activate nonuniform density in barotropic mode pressure- gradient terms. • FLAT_WEIGHTS : Use a more dissipative averaging for the baroclinic/barotropic coupling. • CURVGRID : Activate curvilinear coordinate grid option. • SPHERICAL : Activate longitude/latitude grid positioning. • MASKING : Activate land masking in the domain. • AVERAGES : Define if writing out time-averaged data. • SALINITY : Define if using salinity. • NONLIN_EOS : Activate the nonlinear equation of state. • SPLIT_EOS : Activate to split the nonlinear equation of state in a adiabatic part and a compressible part. • ZCLIMATOLOGY : Activate processing of sea surface height climatology. • UCLIMATOLOGY : Activate processing of momentum climatology. • ZNUDGING : Activate open boundary passive/active term + nudging layer for zeta. • M2NUDGING : Activate open boundary passive/active term + nudging layer for ubar and vbar. • SPONGE : Activate areas of enhanced viscosity/diffusion. • … Patrick Marchesiello IRD 2005

  20. Input parameter file title: PERU TEST MODEL time_stepping: NTIMES dt[sec] NDTFAST NINFO 720 1800 45 1 S-coord: THETA_S, THETA_B, Hc (m) 7.0d0 0.0d0 5.0d0 grid: filename roms_grd.ncforcing: filename roms_frc.ncclimatology: filename roms_clm.ncinitial: NRREC filename 1 roms_ini.ncrestart: NRST, NRPFRST / filename 720 -1 roms_rst.nchistory: LDEFHIS, NWRT, NRPFHIS / filename T 144 0 roms_his.ncaverages: NTSAVG, NAVG, NRPFAVG / filename 1 144 0 roms_avg.ncprimary_history_fields: zeta UBAR VBAR U V wrtT(1:NT) T F F T T 10*Tauxiliary_history_fields: rho Omega W Akv Akt Aks HBL Bostr F F F F T F T Fprimary_averages: zeta UBAR VBAR U V wrtT(1:NT)T T T T T 10*Tauxiliary_averages: rho Omega W Akv Akt Aks HBL F T F F T F T • % vi roms.in rho0: 1025.d0lateral_visc: VISC2, VISC4 [m^2/sec for all]0. 0.tracer_diff2: TNU2(1:NT) [m^2/sec for all] 10*0.d0 bottom_drag: RDRG [m/s], RDRG2, Zob [m], Cdb_min, Cdb_max 3.0d-04 0.d-3 0.d-3 1.d-4 1.d-1 gamma2: 1.d0sponge: X_SPONGE [m], V_SPONGE [m^2/sec] 150.e3 500.nudg_cof: TauT_in, TauT_out, TauM_in, TauM_out [days for all] 1. 360. 3. 360. Patrick Marchesiello IRD 2005

  21. Compiling the model • % jobcomp • Automatic selection of compilation options according to the plateform • Set library path • Use Makefile: • C-preprocessing: file.F  file.f • Compiling: file.f  file.o • Links with libraries  executable roms Patrick Marchesiello IRD 2005

  22. Preparing AGRIF • % vi AGRIF_FixedGrids.in 2 20 45 34 59 3 3 3 30 55 70 89 3 3 2 0 1 10 30 20 40 5 3 5 0 1 20 33 34 44 3 3 3 PERU test case Patrick Marchesiello IRD 2005

  23. Running the model MAIN: started time-steping. STEP time[DAYS] KIN_EN POT_EN TOTAL_EN NET_VOLUME trd 0 15.00000 0.000000000E+00 2.5311945E+01 2.5311945E+01 2.2335422E+15 0 1 15.02083 3.332338732E-06 2.5312150E+01 2.5312154E+01 2.2335431E+15 0 2 15.04167 1.062963402E-05 2.5312316E+01 2.5312327E+01 2.2335455E+15 0 3 15.06250 2.075678260E-05 2.5312446E+01 2.5312466E+01 2.2335461E+15 0 4 15.08333 3.186463589E-05 2.5312543E+01 2.5312575E+01 2.2335469E+15 0 5 15.10417 4.285427484E-05 2.5312627E+01 2.5312670E+01 2.2335480E+15 0 6 15.12500 5.333102059E-05 2.5312691E+01 2.5312744E+01 2.2335479E+15 0 7 15.14583 6.354045596E-05 2.5312719E+01 2.5312782E+01 2.2335465E+15 0 8 15.16667 7.411816854E-05 2.5312701E+01 2.5312775E+01 2.2335457E+15 0 9 15.18750 8.562138804E-05 2.5312650E+01 2.5312735E+01 2.2335467E+15 0 10 15.20833 9.828165268E-05 2.5312569E+01 2.5312667E+01 2.2335473E+15 0 11 15.22917 1.117146701E-04 2.5312465E+01 2.5312577E+01 2.2335475E+15 0 12 15.25000 1.255576462E-04 2.5312345E+01 2.5312471E+01 2.2335475E+15 0 13 15.27083 1.393087941E-04 2.5312135E+01 2.5312275E+01 2.2335470E+15 0 14 15.29167 1.525558114E-04 2.5311800E+01 2.5311952E+01 2.2335463E+15 0 15 15.31250 1.653985076E-04 2.5311350E+01 2.5311515E+01 2.2335465E+15 0 16 15.33333 1.779958127E-04 2.5310792E+01 2.5310970E+01 2.2335468E+15 0 17 15.35417 1.905668926E-04 2.5310134E+01 2.5310325E+01 2.2335470E+15 0 18 15.37500 2.034591092E-04 2.5309385E+01 2.5309588E+01 2.2335470E+15 0 19 15.39583 2.165195050E-04 2.5308554E+01 2.5308771E+01 2.2335469E+15 0 20 15.41667 2.294900067E-04 2.5307653E+01 2.5307882E+01 2.2335465E+15 0 21 15.43750 2.422211112E-04 2.5306695E+01 2.5306937E+01 2.2335463E+15 0 22 15.45833 2.545401621E-04 2.5305693E+01 2.5305948E+01 2.2335463E+15 0 23 15.47917 2.664383353E-04 2.5304665E+01 2.5304932E+01 2.2335464E+15 0 24 15.50000 2.780681955E-04 2.5303629E+01 2.5303907E+01 2.2335465E+15 0 25 15.52083 2.896947197E-04 2.5302600E+01 2.5302890E+01 2.2335465E+15 0 26 15.54167 3.013595537E-04 2.5301595E+01 2.5301897E+01 2.2335462E+15 0 % roms roms.in Patrick Marchesiello IRD 2005

  24. Visualizing the results >> roms_gui Patrick Marchesiello IRD 2005

  25. Analysing the results • Make statistics (mean, variance, …) • Use tracers, compute residence times and Lagrangian transport • Make budgets (energy, heat, vorticity, momentum, …) • Comparison with available data • … Patrick Marchesiello IRD 2005

More Related