Define data structures to set up wave model dynamic data for several models simultaneously. More...
Data Types | |
| type | wdata |
Functions/Subroutines | |
| subroutine | w3ndat (NDSE, NDST) |
| Set up the number of grids to be used. More... | |
| subroutine | w3dimw (IMOD, NDSE, NDST, F_ONLY) |
| Initialize an individual data grid at the proper dimensions. More... | |
| subroutine | w3setw (IMOD, NDSE, NDST) |
| Select one of the WAVEWATCH III grids / models. More... | |
Variables | |
| integer | nwdata = -1 |
| integer | iwdata = -1 |
| type(wdata), dimension(:), allocatable, target | wdatas |
| integer, dimension(:), pointer | time |
| integer, dimension(:), pointer | tlev |
| integer, dimension(:), pointer | tice |
| integer, dimension(:), pointer | trho |
| integer, dimension(:), pointer | tic1 |
| integer, dimension(:), pointer | tic5 |
| integer, dimension(:), pointer | time00 |
| integer, dimension(:), pointer | timeend |
| integer, dimension(:), pointer | qi5tbeg |
| real, dimension(:), pointer | qr5tim0 |
| real, dimension(:, :), pointer | qr5cvk0 |
| real, dimension(:), pointer | qr5tmix |
| complex, dimension(:, :), pointer | qc5int0 |
| real, dimension(:,:), pointer | va |
| real, dimension(:), pointer | wlv |
| real, dimension(:), pointer | ice |
| real, dimension(:), pointer | rhoair |
| real, dimension(:), pointer | ust |
| real, dimension(:), pointer | ustdir |
| real, dimension(:), pointer | asf |
| real, dimension(:), pointer | fpis |
| real, dimension(:), pointer | berg |
| real, dimension(:), pointer | iceh |
| real, dimension(:), pointer | icef |
| real, dimension(:), pointer | icedmax |
| real, dimension(:), pointer | zeta_setup |
| real, dimension(:), pointer | fx_zs |
| real, dimension(:), pointer | fy_zs |
| real, dimension(:), pointer | sxx_zs |
| real, dimension(:), pointer | sxy_zs |
| real, dimension(:), pointer | syy_zs |
| real, dimension(:,:), pointer | vstot |
| real, dimension(:,:), pointer | vdtot |
| real, dimension(:,:), pointer | vaold |
| logical, dimension(:), pointer | shavetot |
| logical, pointer | dinit |
| logical, pointer | fl_all |
Define data structures to set up wave model dynamic data for several models simultaneously.
The number of grids is taken from W3GDATMD, and needs to be set first with W3DIMG.
| subroutine w3wdatmd::w3dimw | ( | integer, intent(in) | IMOD, |
| integer, intent(in) | NDSE, | ||
| integer, intent(in) | NDST, | ||
| logical, intent(in), optional | F_ONLY | ||
| ) |
Initialize an individual data grid at the proper dimensions.
Allocate directly into the structure array. Note that this cannot be done through the pointer alias!
| [in] | IMOD | Model number to point to. |
| [in] | NDSE | Error output unit number. |
| [in] | NDST | Test output unit number. |
| [in] | F_ONLY | FLag for initializing field arrays only. |
Definition at line 343 of file w3wdatmd.F90.
References constants::dair, w3servmd::extcde(), fl_all, w3gdatmd::grids, w3gdatmd::gtype, w3odatmd::iaproc, w3gdatmd::igrid, constants::lpdlib, w3parall::lsloc, w3odatmd::naproc, w3gdatmd::ngrids, yownodepool::np, yownodepool::npa, w3gdatmd::nsea, w3gdatmd::nseal, w3gdatmd::nspec, nwdata, w3gdatmd::qi5nnz, yowrankmodule::rank, w3parall::set_up_nseal_nsealm(), w3servmd::strace(), w3gdatmd::ungtype, w3gdatmd::w3setg(), w3setw(), and wdatas.
Referenced by w3grid_interp(), w3initmd::w3init(), w3iogomd::w3iogo(), w3iorsmd::w3iors(), and w3shel().
| subroutine w3wdatmd::w3ndat | ( | integer, intent(in) | NDSE, |
| integer, intent(in) | NDST | ||
| ) |
Set up the number of grids to be used.
Use data stored in NGRIDS in W3GDATMD.
| [in] | NDSE | Error output unit number. |
| [in] | NDST | Test output unit number. |
Definition at line 210 of file w3wdatmd.F90.
References w3servmd::extcde(), w3gdatmd::ngrids, nwdata, w3servmd::strace(), and wdatas.
Referenced by gxoutf(), gxoutp(), w3bounc(), w3bound(), w3grib(), w3grid_interp(), w3ounf(), w3ounp(), w3outf(), w3outp(), w3shel(), w3strt(), w3uprstr(), wminitmd::wminit(), and wminitmd::wminitnml().
| subroutine w3wdatmd::w3setw | ( | integer, intent(in) | IMOD, |
| integer, intent(in) | NDSE, | ||
| integer, intent(in) | NDST | ||
| ) |
Select one of the WAVEWATCH III grids / models.
Point pointers to the proper variables in the proper element of the GRIDS array.
| [in] | IMOD | Model number to point to. |
| [in] | NDSE | Error output unit number. |
| [in] | NDST | Test output unit number. |
Definition at line 660 of file w3wdatmd.F90.
References asf, berg, dinit, w3servmd::extcde(), fl_all, fpis, fx_zs, fy_zs, ice, icedmax, icef, iceh, iwdata, nwdata, qc5int0, qi5tbeg, qr5cvk0, qr5tim0, qr5tmix, rhoair, shavetot, w3servmd::strace(), sxx_zs, sxy_zs, syy_zs, tic1, tic5, tice, time, time00, timeend, tlev, trho, ust, ustdir, va, vaold, vdtot, vstot, wdatas, wlv, and zeta_setup.
Referenced by wmesmfmd::createexpmesh(), gxoutf(), gxoutp(), w3bounc(), w3bound(), w3dimw(), w3grib(), w3grid_interp(), w3initmd::w3init(), w3iobcmd::w3iobc(), w3iogomd::w3iogo(), w3iopomd::w3iopo(), w3iopomd::w3iopon(), w3iorsmd::w3iors(), w3iotrmd::w3iotr(), w3ounf(), w3ounp(), w3outf(), w3outp(), w3shel(), w3strt(), w3uprstr(), w3wavemd::w3wave(), wminitmd::wminit(), wminitmd::wminitnml(), wminiomd::wmiobg(), wminiomd::wmiobs(), wminiomd::wmioeg(), wminiomd::wmioes(), wminiomd::wmiohg(), wminiomd::wmiohs(), wmiopomd::wmiopo(), wmiopomd::wmiopp(), wmupdtmd::wmupdt(), and wmwavemd::wmwave().
| real, dimension(:), pointer w3wdatmd::asf |
Definition at line 183 of file w3wdatmd.F90.
Referenced by pdlib_field_vec::do_output_exchanges(), w3iosfmd::w3cprt(), w3exgi(), w3grid_interp(), w3iogomd::w3iogo(), w3iorsmd::w3iors(), w3iosfmd::w3iosf(), w3initmd::w3mpio(), w3setw(), w3updtmd::w3uwnd(), and w3wavemd::w3wave().
| real, dimension(:), pointer w3wdatmd::berg |
Definition at line 183 of file w3wdatmd.F90.
Referenced by gxoutf(), w3exgi(), w3iogomd::w3iogo(), w3ounf(), w3outf(), w3setw(), w3updtmd::w3uice(), w3updtmd::w3utrn(), and w3wavemd::w3wave().
| logical, pointer w3wdatmd::dinit |
Definition at line 195 of file w3wdatmd.F90.
Referenced by w3iogomd::w3iogo(), w3iorsmd::w3iors(), and w3setw().
| logical, pointer w3wdatmd::fl_all |
Definition at line 195 of file w3wdatmd.F90.
| real, dimension(:), pointer w3wdatmd::fpis |
Definition at line 183 of file w3wdatmd.F90.
Referenced by pdlib_field_vec::do_output_exchanges(), w3exgi(), w3iorsmd::w3iors(), w3initmd::w3mpio(), w3iogomd::w3outg(), w3setw(), and w3wavemd::w3wave().
| real, dimension(:), pointer w3wdatmd::fx_zs |
Definition at line 187 of file w3wdatmd.F90.
Referenced by w3setw().
| real, dimension(:), pointer w3wdatmd::fy_zs |
Definition at line 187 of file w3wdatmd.F90.
Referenced by w3setw().
| real, dimension(:), pointer w3wdatmd::ice |
Definition at line 183 of file w3wdatmd.F90.
Referenced by gxoutf(), w3exgi(), w3grib(), w3grid_interp(), w3iogomd::w3iogo(), w3iopomd::w3iope(), w3iorsmd::w3iors(), w3ounf(), w3outf(), w3setw(), w3updtmd::w3uic5(), w3updtmd::w3uice(), w3updtmd::w3utrn(), and w3wavemd::w3wave().
| real, dimension(:), pointer w3wdatmd::icedmax |
Definition at line 183 of file w3wdatmd.F90.
Referenced by w3setw(), w3updtmd::w3uic5(), and w3wavemd::w3wave().
| real, dimension(:), pointer w3wdatmd::icef |
Definition at line 183 of file w3wdatmd.F90.
Referenced by gxoutf(), w3igcmmd::snd_fields_to_ice(), w3exgi(), w3grid_interp(), w3iogomd::w3iogo(), w3iopomd::w3iope(), w3iorsmd::w3iors(), w3initmd::w3mpio(), w3ounf(), w3outf(), w3setw(), w3updtmd::w3uic5(), and w3wavemd::w3wave().
| real, dimension(:), pointer w3wdatmd::iceh |
Definition at line 183 of file w3wdatmd.F90.
Referenced by gxoutf(), w3exgi(), w3grid_interp(), w3iogomd::w3iogo(), w3iopomd::w3iope(), w3ounf(), w3outf(), w3setw(), w3updtmd::w3uic1(), w3updtmd::w3uic5(), and w3wavemd::w3wave().
| integer w3wdatmd::iwdata = -1 |
Definition at line 134 of file w3wdatmd.F90.
Referenced by w3setw(), and w3wavemd::w3wave().
| integer w3wdatmd::nwdata = -1 |
| complex, dimension(:, :), pointer w3wdatmd::qc5int0 |
Definition at line 181 of file w3wdatmd.F90.
Referenced by w3setw(), and w3snl5md::w3snl5().
| integer, dimension(:), pointer w3wdatmd::qi5tbeg |
Definition at line 179 of file w3wdatmd.F90.
Referenced by w3setw(), w3shel(), and w3snl5md::w3snl5().
| real, dimension(:, :), pointer w3wdatmd::qr5cvk0 |
Definition at line 180 of file w3wdatmd.F90.
Referenced by w3setw(), and w3snl5md::w3snl5().
| real, dimension(:), pointer w3wdatmd::qr5tim0 |
Definition at line 180 of file w3wdatmd.F90.
Referenced by w3setw(), and w3snl5md::w3snl5().
| real, dimension(:), pointer w3wdatmd::qr5tmix |
Definition at line 180 of file w3wdatmd.F90.
Referenced by w3setw(), and w3snl5md::w3snl5().
| real, dimension(:), pointer w3wdatmd::rhoair |
Definition at line 183 of file w3wdatmd.F90.
Referenced by gxoutf(), w3exgi(), w3grib(), w3grid_interp(), w3iogomd::w3iogo(), w3iopomd::w3iope(), w3ounf(), w3outf(), w3setw(), w3updtmd::w3urho(), and w3wavemd::w3wave().
| logical, dimension(:), pointer w3wdatmd::shavetot |
Definition at line 193 of file w3wdatmd.F90.
Referenced by pdlib_w3profsmd::calcarray_jacobi_source_1(), pdlib_w3profsmd::calcarray_jacobi_source_2(), pdlib_w3profsmd::pdlib_jacobi_gauss_seidel_block(), w3setw(), and w3wavemd::w3wave().
| real, dimension(:), pointer w3wdatmd::sxx_zs |
Definition at line 188 of file w3wdatmd.F90.
Referenced by w3setw().
| real, dimension(:), pointer w3wdatmd::sxy_zs |
Definition at line 188 of file w3wdatmd.F90.
Referenced by w3setw().
| real, dimension(:), pointer w3wdatmd::syy_zs |
Definition at line 188 of file w3wdatmd.F90.
Referenced by w3setw().
| integer, dimension(:), pointer w3wdatmd::tic1 |
Definition at line 172 of file w3wdatmd.F90.
Referenced by w3iorsmd::w3iors(), w3setw(), w3updtmd::w3uic1(), and w3wavemd::w3wave().
| integer, dimension(:), pointer w3wdatmd::tic5 |
Definition at line 172 of file w3wdatmd.F90.
Referenced by w3iorsmd::w3iors(), w3setw(), w3updtmd::w3uic5(), and w3wavemd::w3wave().
| integer, dimension(:), pointer w3wdatmd::tice |
Definition at line 172 of file w3wdatmd.F90.
Referenced by w3exgi(), w3initmd::w3init(), w3iorsmd::w3iors(), w3setw(), w3updtmd::w3uice(), and w3wavemd::w3wave().
| integer, dimension(:), pointer w3wdatmd::time |
Definition at line 172 of file w3wdatmd.F90.
Referenced by pdlib_w3profsmd::apply_boundary_condition(), pdlib_w3profsmd::apply_boundary_condition_va(), gxoutf(), gxoutp(), pdlib_w3profsmd::pdlib_jacobi_gauss_seidel_block(), pdlib_w3profsmd::pdlib_w3xypfsfct2(), pdlib_w3profsmd::pdlib_w3xypfsn2(), pdlib_w3profsmd::pdlib_w3xypfspsi2(), pdlib_w3profsmd::pdlib_w3xypug(), wmesmfmd::setservices(), w3bullmd::w3bull(), w3pro3md::w3cflxy(), w3grib(), w3grid_interp(), w3initmd::w3init(), w3iogomd::w3iogo(), w3iopomd::w3iopo(), w3iopomd::w3iopon(), w3iopomd::w3iopon_read(), w3iopomd::w3iopon_write(), w3iorsmd::w3iors(), w3iosfmd::w3iosf(), w3iotrmd::w3iotr(), w3ounf(), w3ounp(), w3outf(), w3outp(), w3psmcmd::w3psmc(), w3src6md::w3sds6(), w3setw(), w3shel(), w3srcemd::w3srce(), w3updtmd::w3ucur(), w3updtmd::w3uic1(), w3updtmd::w3uic5(), w3updtmd::w3uice(), w3updtmd::w3ulev(), w3uprstr(), w3updtmd::w3urho(), w3updtmd::w3utau(), w3updtmd::w3uwnd(), w3wavemd::w3wave(), w3wdasmd::w3wdas(), w3pro1md::w3xyp1(), w3pro2md::w3xyp2(), w3pro3md::w3xyp3(), w3profsmd::w3xypfsfct2(), w3profsmd::w3xypfsn2(), w3profsmd::w3xypfsnimp(), w3profsmd::w3xypfspsi2(), w3profsmd::w3xypug(), wminitmd::wminit(), wminitmd::wminitnml(), wminiomd::wmiobg(), wminiomd::wmiobs(), wminiomd::wmioeg(), wminiomd::wmioes(), wminiomd::wmiohg(), wminiomd::wmiohs(), wmiopomd::wmiopo(), wmupdtmd::wmupd1(), wmupdtmd::wmupd2(), wmupdtmd::wmupdt(), and wmwavemd::wmwave().
| integer, dimension(:), pointer w3wdatmd::time00 |
Definition at line 175 of file w3wdatmd.F90.
Referenced by w3setw(), w3shel(), and w3wavemd::w3wave().
| integer, dimension(:), pointer w3wdatmd::timeend |
Definition at line 176 of file w3wdatmd.F90.
Referenced by w3setw(), w3shel(), and w3wavemd::w3wave().
| integer, dimension(:), pointer w3wdatmd::tlev |
Definition at line 172 of file w3wdatmd.F90.
Referenced by w3exgi(), w3initmd::w3init(), w3iorsmd::w3iors(), w3setw(), w3updtmd::w3ulev(), and w3wavemd::w3wave().
| integer, dimension(:), pointer w3wdatmd::trho |
Definition at line 172 of file w3wdatmd.F90.
Referenced by w3initmd::w3init(), w3iorsmd::w3iors(), w3setw(), and w3updtmd::w3urho().
| real, dimension(:), pointer w3wdatmd::ust |
Definition at line 183 of file w3wdatmd.F90.
Referenced by pdlib_w3profsmd::calcarray_jacobi_source_1(), pdlib_w3profsmd::calcarray_jacobi_source_2(), pdlib_field_vec::do_output_exchanges(), wmesmfmd::fieldindex(), gxoutf(), pdlib_w3profsmd::pdlib_jacobi_gauss_seidel_block(), w3exgi(), w3grib(), w3grid_interp(), w3initmd::w3init(), w3iogomd::w3iogo(), w3iorsmd::w3iors(), w3iotrmd::w3iotr(), w3initmd::w3mpio(), w3ounf(), w3outf(), w3iogomd::w3outg(), w3setw(), w3updtmd::w3uice(), w3updtmd::w3ulev(), and w3wavemd::w3wave().
| real, dimension(:), pointer w3wdatmd::ustdir |
Definition at line 183 of file w3wdatmd.F90.
Referenced by pdlib_w3profsmd::calcarray_jacobi_source_1(), pdlib_w3profsmd::calcarray_jacobi_source_2(), pdlib_field_vec::do_output_exchanges(), gxoutf(), w3exgi(), w3grib(), w3grid_interp(), w3initmd::w3init(), w3iogomd::w3iogo(), w3iorsmd::w3iors(), w3initmd::w3mpio(), w3ounf(), w3outf(), w3setw(), and w3wavemd::w3wave().
| real, dimension(:,:), pointer w3wdatmd::va |
Definition at line 183 of file w3wdatmd.F90.
Referenced by pdlib_w3profsmd::all_field_integral_print(), pdlib_w3profsmd::all_va_integral_print(), pdlib_w3profsmd::apply_boundary_condition(), pdlib_w3profsmd::apply_boundary_condition_va(), pdlib_w3profsmd::calcarray_jacobi(), pdlib_w3profsmd::calcarray_jacobi2(), pdlib_w3profsmd::calcarray_jacobi3(), pdlib_w3profsmd::calcarray_jacobi4(), pdlib_w3profsmd::calcarray_jacobi_source_1(), pdlib_w3profsmd::calcarray_jacobi_source_2(), pdlib_w3profsmd::calcarray_jacobi_vec(), pdlib_field_vec::do_output_exchanges(), pdlib_w3profsmd::ergout(), wmesmfmd::fieldindex(), pdlib_w3profsmd::pdlib_explicit_block(), pdlib_w3profsmd::pdlib_jacobi_gauss_seidel_block(), pdlib_w3profsmd::pdlib_w3xypug(), pdlib_field_vec::unst_pdlib_read_from_file(), pdlib_field_vec::unst_pdlib_write_to_file(), w3iosfmd::w3cprt(), w3exgi(), w3wavemd::w3gath(), w3psmcmd::w3gathsmc(), w3grid_interp(), w3initmd::w3init(), w3iobcmd::w3iobc(), w3iorsmd::w3iors(), w3initmd::w3mpii(), w3initmd::w3mpio(), w3initmd::w3mpip(), w3wavemd::w3scat(), w3psmcmd::w3scatsmc(), w3setw(), w3shel(), w3srcemd::w3srce(), w3uprstr(), w3wavemd::w3wave(), wminiomd::wmiobs(), wminiomd::wmioeg(), wminiomd::wmioes(), wminiomd::wmiohg(), wminiomd::wmiohs(), wmwavemd::wmwave(), and pdlib_w3profsmd::write_var_to_text_file().
| real, dimension(:,:), pointer w3wdatmd::vaold |
Definition at line 192 of file w3wdatmd.F90.
Referenced by pdlib_w3profsmd::all_vaold_integral_print(), pdlib_w3profsmd::calcarray_jacobi2(), pdlib_w3profsmd::calcarray_jacobi3(), pdlib_w3profsmd::calcarray_jacobi4(), pdlib_w3profsmd::ergout(), pdlib_w3profsmd::pdlib_jacobi_gauss_seidel_block(), w3setw(), and w3wavemd::w3wave().
| real, dimension(:,:), pointer w3wdatmd::vdtot |
Definition at line 191 of file w3wdatmd.F90.
Referenced by pdlib_w3profsmd::calcarray_jacobi_source_1(), pdlib_w3profsmd::calcarray_jacobi_source_2(), pdlib_w3profsmd::pdlib_jacobi_gauss_seidel_block(), w3setw(), and w3wavemd::w3wave().
| real, dimension(:,:), pointer w3wdatmd::vstot |
Definition at line 191 of file w3wdatmd.F90.
Referenced by pdlib_w3profsmd::calcarray_jacobi_source_1(), pdlib_w3profsmd::calcarray_jacobi_source_2(), pdlib_w3profsmd::pdlib_jacobi_gauss_seidel_block(), w3setw(), and w3wavemd::w3wave().
| type(wdata), dimension(:), allocatable, target w3wdatmd::wdatas |
Definition at line 168 of file w3wdatmd.F90.
Referenced by w3dimw(), w3exgi(), w3grid_interp(), w3ndat(), w3setw(), and wminiomd::wmiohg().
| real, dimension(:), pointer w3wdatmd::wlv |
Definition at line 183 of file w3wdatmd.F90.
Referenced by gxoutf(), w3exgi(), w3grib(), w3grid_interp(), w3initmd::w3init(), w3iogomd::w3iogo(), w3iorsmd::w3iors(), w3ounf(), w3outf(), w3setw(), and w3updtmd::w3ulev().
| real, dimension(:), pointer w3wdatmd::zeta_setup |
Definition at line 187 of file w3wdatmd.F90.
Referenced by w3wavset::fd_wave_setup_computation(), w3wavset::trig_wave_setup_computation(), w3initmd::w3init(), w3iogomd::w3iogo(), w3iopomd::w3iope(), w3ounf(), w3setw(), and w3updtmd::w3ulev().