Contains the program W3UPRSTR. More...
Go to the source code of this file.
Functions/Subroutines | |
| program | w3uprstr |
| Update restart files based on Hs from DA. More... | |
| subroutine | update_va (PRCNTG, VATMP) |
| Apply correction to the spectrum. More... | |
| subroutine | check_prcntg (PRCNTG, PRCNTG_CAP) |
| Last sanity check before the update of the spectrum. More... | |
| subroutine | read_grbtxt (UPDPRCNT, FLNMCOR, SMCGRD) |
| Read gribtxt files. More... | |
| subroutine | read_grbtxtws (UPDPRCNT, WSPD, WDIR, FLNMCOR, SMCGRD) |
| Read txt files that include wind data. More... | |
| subroutine | swh_rsrt_1p (VA1p, ISEA1p, HSIG1p) |
| Calculate the significant wave height from the restart file for 1 point. More... | |
| subroutine | swh_rsrt_1pw (VA1p, WS, WD, ISEA1p, HSIG1p, HSIGwp, HSIGsp, VAMAPWS) |
| Calculate Hs from restart for 1 point. More... | |
| subroutine | uvtocart (UVEC, VVEC, SPD, DCART, SMCGRD) |
| Calculate speed and cartesian convention directions from u,v input vectors. More... | |
| subroutine | updtwspec (VATMP, PRCNTG, VAMAPWS) |
| Updates the wind-sea part of the wave spectrum only. More... | |
| subroutine | updtwspecf (VATMP, PRCNTG, VAMAPWS, ISEA1p, ADJALL) |
| Updates the wind-sea part of the wave spectrum and shifts in frequency space. More... | |
| subroutine | writematrix (FILENAME, RDA_A) |
| Writes a 2D array to text file, column by column. More... | |
| subroutine w3uprstr::check_prcntg | ( | real, intent(inout) | PRCNTG, |
| real, intent(in) | PRCNTG_CAP | ||
| ) |
Last sanity check before the update of the spectrum.
The percentage of change is compared against a user defined cap.
| [in,out] | PRCNTG | |
| [in,out] | PRCNTG_CAP |
Definition at line 1278 of file ww3_uprstr.F90.
Referenced by w3uprstr().
| subroutine w3uprstr::read_grbtxt | ( | real, dimension(:,:), intent(out) | UPDPRCNT, |
| character(*), intent(in) | FLNMCOR, | ||
| logical, intent(in) | SMCGRD | ||
| ) |
Read gribtxt files.
| [in,out] | UPDPRCNT | |
| [in,out] | FLNMCOR | |
| [in,out] | SMCGRD |
Definition at line 1369 of file ww3_uprstr.F90.
References file().
Referenced by w3uprstr().
| subroutine w3uprstr::read_grbtxtws | ( | real, dimension(:,:), intent(out) | UPDPRCNT, |
| real, dimension(:,:), intent(out) | WSPD, | ||
| real, dimension(:,:), intent(out) | WDIR, | ||
| character(*), intent(in) | FLNMCOR, | ||
| logical, intent(in) | SMCGRD | ||
| ) |
Read txt files that include wind data.
| [out] | UPDPRCNT | |
| [out] | WSPD | |
| [out] | WDIR | |
| [in] | FLNMCOR | |
| [in] | SMCGRD |
Definition at line 1492 of file ww3_uprstr.F90.
References file().
Referenced by w3uprstr().
| subroutine w3uprstr::swh_rsrt_1p | ( | real, dimension(:), intent(in) | VA1p, |
| integer, intent(in) | ISEA1p, | ||
| real, intent(out) | HSIG1p | ||
| ) |
Calculate the significant wave height from the restart file for 1 point.
| [in] | VA1p | |
| [in] | ISEA1p | |
| [out] | HSIG1p |
Definition at line 1621 of file ww3_uprstr.F90.
Referenced by w3uprstr().
| subroutine w3uprstr::swh_rsrt_1pw | ( | real, dimension(:), intent(in) | VA1p, |
| real, intent(in) | WS, | ||
| real, intent(in) | WD, | ||
| integer, intent(in) | ISEA1p, | ||
| real, intent(out) | HSIG1p, | ||
| real, intent(out) | HSIGwp, | ||
| real, intent(out) | HSIGsp, | ||
| integer, dimension(:), intent(out) | VAMAPWS | ||
| ) |
Calculate Hs from restart for 1 point.
Calculate the significant wave height for total, wind sea and swell components from the restart file for 1 point
| [in] | VA1p | |
| [in] | WS | |
| [in] | WD | |
| [in] | ISEA1p | |
| [out] | HSIG1p | |
| [out] | HSIGwp | |
| [out] | HSIGsp | |
| [out] | VAMAPWS |
Definition at line 1714 of file ww3_uprstr.F90.
References w3gdatmd::th, and w3odatmd::wsmult.
Referenced by w3uprstr().
| subroutine w3uprstr::update_va | ( | real, intent(in) | PRCNTG, |
| real, dimension(:), intent(inout) | VATMP | ||
| ) |
Apply correction to the spectrum.
The factor is (swh_anal/swh_bkg)**2 as applying to wave energy.
| [in] | PRCNTG | |
| [in,out] | VATMP |
Definition at line 1214 of file ww3_uprstr.F90.
Referenced by w3uprstr().
| subroutine w3uprstr::updtwspec | ( | real, dimension(:), intent(inout) | VATMP, |
| real, intent(in) | PRCNTG, | ||
| integer, dimension(:), intent(in) | VAMAPWS | ||
| ) |
Updates the wind-sea part of the wave spectrum only.
| [in,out] | VATMP | |
| [in] | PRCNTG | |
| [in] | VAMAPWS |
Definition at line 1920 of file ww3_uprstr.F90.
Referenced by w3uprstr().
| subroutine w3uprstr::updtwspecf | ( | real, dimension(:), intent(inout) | VATMP, |
| real, intent(in) | PRCNTG, | ||
| integer, dimension(:), intent(in) | VAMAPWS, | ||
| integer, intent(in) | ISEA1p, | ||
| logical, intent(in) | ADJALL | ||
| ) |
Updates the wind-sea part of the wave spectrum and shifts in frequency space.
| [in,out] | VATMP | |
| [in] | PRCNTG | |
| [in] | VAMAPWS | |
| [in] | ISEA1p | |
| [in] | ADJALL |
Definition at line 2000 of file ww3_uprstr.F90.
Referenced by w3uprstr().
| subroutine w3uprstr::uvtocart | ( | real, dimension(:,:), intent(in) | UVEC, |
| real, dimension(:,:), intent(in) | VVEC, | ||
| real, dimension(:,:), intent(out) | SPD, | ||
| real, dimension(:,:), intent(out) | DCART, | ||
| logical, intent(in) | SMCGRD | ||
| ) |
Calculate speed and cartesian convention directions from u,v input vectors.
| [in] | UVEC | |
| [in] | VVEC | |
| [out] | SPD | |
| [out] | DCART | |
| [in] | SMCGRD |
Definition at line 1828 of file ww3_uprstr.F90.
References constants::tpi.
Referenced by w3uprstr().
| program w3uprstr |
Update restart files based on Hs from DA.
Update the WAVEWATCH III restart files based on the significant wave height analysis from any data assimilation system.
The W3UPRSTR is the intermediator between the background WW3 and the analysis of the wave field, it modifies the original restart file according to the analysis. For the wave modeling and DA, the ww3_uprstr program applies the operator from the diagnostic to the prognostic variable.
Definition at line 22 of file ww3_uprstr.F90.
References check_prcntg(), w3gdatmd::dmin, w3gdatmd::dsip, w3gdatmd::dth, w3servmd::extcde(), file(), w3odatmd::fnmpre, w3gdatmd::fswnd, w3gdatmd::gname, w3gdatmd::gtype, w3odatmd::iaproc, w3odatmd::idout, w3servmd::itrace(), w3gdatmd::mapsf, w3gdatmd::mapsta, w3odatmd::naperr, w3odatmd::naplog, w3odatmd::napout, w3odatmd::nds, w3odatmd::ndse, w3odatmd::ndso, w3odatmd::ndst, w3servmd::nextln(), w3gdatmd::nk, w3gdatmd::nsea, w3gdatmd::nseal, w3adatmd::nsealm, w3gdatmd::nth, w3gdatmd::nx, w3gdatmd::ny, read_grbtxt(), read_grbtxtws(), w3gdatmd::rstype, w3gdatmd::sig, w3gdatmd::smctype, swh_rsrt_1p(), swh_rsrt_1pw(), w3wdatmd::time, update_va(), updtwspec(), updtwspecf(), uvtocart(), w3wdatmd::va, w3iogrmd::w3iogr(), w3iorsmd::w3iors(), w3adatmd::w3naux(), w3wdatmd::w3ndat(), w3idatmd::w3ninp(), w3nmluprstrmd::w3nmluprstr(), w3gdatmd::w3nmod(), w3odatmd::w3nout(), w3adatmd::w3seta(), w3gdatmd::w3setg(), w3idatmd::w3seti(), w3odatmd::w3seto(), w3wdatmd::w3setw(), w3dispmd::wavnu1(), writematrix(), and w3gdatmd::zb.
| subroutine w3uprstr::writematrix | ( | character(*), intent(in) | FILENAME, |
| real, dimension(:, :), intent(in) | RDA_A | ||
| ) |
Writes a 2D array to text file, column by column.
| [in,out] | FILENAME | Path to the output file. |
| [in,out] | RDA_A | 2D array to write. |
Definition at line 2157 of file ww3_uprstr.F90.
References file().
Referenced by w3uprstr().