- Timestamp:
- 2015-10-31T08:40:45+01:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_r5836_NOC3_vvl_by_default/NEMOGCM/NEMO/OPA_SRC/CRS/crsdom.F90
r5302 r5845 30 30 !! Original. May 2012. (J. Simeon, C. Calone, G. Madec, C. Ethe) 31 31 !!=================================================================== 32 33 32 USE dom_oce ! ocean space and time domain and to get jperio 34 USE wrk_nemo ! work arrays35 33 USE crs ! domain for coarse grid 34 ! 36 35 USE in_out_manager 37 36 USE par_kind 38 37 USE crslbclnk 38 USE wrk_nemo ! work arrays 39 39 USE lib_mpp 40 41 40 42 41 IMPLICIT NONE … … 54 53 REAL(wp) :: r_inf = 1e+36 55 54 56 !! Substitutions 57 # include "domzgr_substitute.h90" 58 55 !!---------------------------------------------------------------------- 56 !! NEMO/OPA 3.3 , NEMO Consortium (2010) 59 57 !! $Id$ 58 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 59 !!---------------------------------------------------------------------- 60 60 CONTAINS 61 62 61 63 62 SUBROUTINE crs_dom_msk … … 133 132 END SUBROUTINE crs_dom_msk 134 133 134 135 135 SUBROUTINE crs_dom_coordinates( p_gphi, p_glam, cd_type, p_gphi_crs, p_glam_crs ) 136 136 !!---------------------------------------------------------------- … … 334 334 !! cd_type = grid type (T,U,V,F) for scale factors; for velocities (U or V) 335 335 !! cd_op = applied operation (SUM, VOL, WGT) 336 !! p_ fse3 = (Optional) parent grid vertical level thickness (fse3u or fse3v)336 !! p_e3 = (Optional) parent grid vertical level thickness (e3u or e3v) 337 337 !! ** Outputs : p_cfield2d_1 = (Optional) 2D field on coarse grid 338 338 !! p_cfield2d_2 = (Optional) 2D field on coarse grid … … 348 348 REAL(wp), DIMENSION(jpi,jpj) , INTENT(in) :: p_e1 ! Parent grid U,V scale factors (e1) 349 349 REAL(wp), DIMENSION(jpi,jpj) , INTENT(in) :: p_e2 ! Parent grid U,V scale factors (e2) 350 REAL(wp), DIMENSION(jpi,jpj,jpk) , INTENT(in) :: p_e3 ! Parent grid vertical level thickness ( fse3u, fse3v)350 REAL(wp), DIMENSION(jpi,jpj,jpk) , INTENT(in) :: p_e3 ! Parent grid vertical level thickness (e3u, e3v) 351 351 352 352 REAL(wp), DIMENSION(jpi_crs,jpj_crs,jpk), INTENT(out) :: p_fld1_crs ! Coarse grid box 3D quantity … … 469 469 !! p_pmask = parent grid mask (T,U,V,F) for scale factors; 470 470 !! for velocities (U or V) 471 !! p_ fse3 = parent grid vertical level thickness (fse3u or fse3v)471 !! p_e3 = parent grid vertical level thickness (e3u or e3v) 472 472 !! p_pfield = U or V on the parent grid 473 473 !! p_surf_crs = (Optional) Coarse grid weight for averaging … … 478 478 !! 5 Jun. Streamline for area-weighted average only ; separate scale factor and weights. 479 479 !!---------------------------------------------------------------- 480 !!481 !! Arguments482 480 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(in) :: p_fld ! T, U, V or W on parent grid 483 481 CHARACTER(len=3), INTENT(in) :: cd_op ! Operation SUM, MAX or MIN … … 485 483 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(in) :: p_mask ! Parent grid T,U,V mask 486 484 REAL(wp), DIMENSION(jpi,jpj), INTENT(in), OPTIONAL :: p_e12 ! Parent grid T,U,V scale factors (e1 or e2) 487 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(in), OPTIONAL :: p_e3 ! Parent grid vertical level thickness ( fse3u, fse3v)485 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(in), OPTIONAL :: p_e3 ! Parent grid vertical level thickness (e3u, e3v) 488 486 REAL(wp), DIMENSION(jpi_crs,jpj_crs,jpk), INTENT(in), OPTIONAL :: p_surf_crs ! Coarse grid area-weighting denominator 489 487 REAL(wp), DIMENSION(jpi_crs,jpj_crs,jpk), INTENT(in), OPTIONAL :: p_mask_crs ! Coarse grid T,U,V maska 490 488 REAL(wp), INTENT(in) :: psgn ! sign 491 492 493 REAL(wp), DIMENSION(jpi_crs,jpj_crs,jpk), INTENT(out) :: p_fld_crs ! Coarse grid box 3D quantity 494 495 !! Local variables 489 REAL(wp), DIMENSION(jpi_crs,jpj_crs,jpk), INTENT( out) :: p_fld_crs ! Coarse grid box 3D quantity 490 ! 496 491 INTEGER :: ji, jj, jk 497 492 INTEGER :: ii, ij, ijie, ijje, je_2 … … 499 494 REAL(wp), DIMENSION(:,:,:), POINTER :: zsurf, zsurfmsk, zmask 500 495 !!---------------------------------------------------------------- 501 502 p_fld_crs(:,:,:) = 0. 0503 496 ! 497 p_fld_crs(:,:,:) = 0._wp 498 ! 504 499 SELECT CASE ( cd_op ) 505 500 … … 1136 1131 !! p_pmask = parent grid mask (T,U,V,F) for scale factors; 1137 1132 !! for velocities (U or V) 1138 !! p_ fse3 = parent grid vertical level thickness (fse3u or fse3v)1133 !! p_e3 = parent grid vertical level thickness (e3u or e3v) 1139 1134 !! p_pfield = U or V on the parent grid 1140 1135 !! p_surf_crs = (Optional) Coarse grid weight for averaging … … 1152 1147 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(in) :: p_mask ! Parent grid T,U,V mask 1153 1148 REAL(wp), DIMENSION(jpi,jpj), INTENT(in), OPTIONAL :: p_e12 ! Parent grid T,U,V scale factors (e1 or e2) 1154 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(in), OPTIONAL :: p_e3 ! Parent grid vertical level thickness ( fse3u, fse3v)1149 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(in), OPTIONAL :: p_e3 ! Parent grid vertical level thickness (e3u, e3v) 1155 1150 REAL(wp), DIMENSION(jpi_crs,jpj_crs) , INTENT(in), OPTIONAL :: p_surf_crs ! Coarse grid area-weighting denominator 1156 1151 REAL(wp), DIMENSION(jpi_crs,jpj_crs,jpk), INTENT(in), OPTIONAL :: p_mask_crs ! Coarse grid T,U,V mask
Note: See TracChangeset
for help on using the changeset viewer.