New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 8168 – NEMO

Changeset 8168


Ignore:
Timestamp:
2017-06-13T18:50:51+02:00 (7 years ago)
Author:
glong
Message:

changes as of eod 13/16/17

Location:
branches/UKMO/GO6_dyn_vrt_diag/NEMOGCM
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/GO6_dyn_vrt_diag/NEMOGCM/CONFIG/SHARED/field_def.xml

    r7649 r8168  
    499499        <field id="tke"          long_name="Turbulent Kinetic Energy"                  unit="m2/s2"    /> 
    500500        <field id="tke_niw"      long_name="Turbulent Kinetic Energy due to near-inertial wave breaking"  unit="m2/s2" /> 
    501         <!-- diag_vor_int and diag_vor_mn: available with TODO FLAGS and TODO FLAGS --> 
    502         <field id="dia_vor_int"    long_name="vertical integral vorticity tendencies"  standard_name="vertically_integrated_vorticity_tendencies"   unit="s-2"      grid_ref="grid_W_2D" /> 
    503         <field id="dia_vor_mn"    long_name="vertical mean vorticity tendencies"  standard_name="vertical_mean_vorticity_tendencies"   unit="s-2"      grid_ref="grid_W_2D" /> 
     501        <!-- variables available with dyn_vrt_dia - available with TODO FLAGS and TODO FLAGS --> 
     502        <field id="dia_vor_int-11"    long_name="vertical integral vorticity tendencies for hpg"  standard_name="vertically_integrated_vorticity_tendencies_hpg"   unit="s-2"      grid_ref="grid_W_2D" /> 
     503        <field id="dia_vor_mean-12"    long_name="vertical mean vorticity tendencies for hpg"  standard_name="vertical_mean_vorticity_tendencies_hpg"   unit="s-2"      grid_ref="grid_W_2D" /> 
     504        <field id="dia_vor_int-21"    long_name="vertical integral vorticity tendencies for keg"  standard_name="vertically_integrated_vorticity_tendencies_keg"   unit="s-2"      grid_ref="grid_W_2D" /> 
     505        <field id="dia_vor_mean-22"    long_name="vertical mean vorticity tendencies for keg"  standard_name="vertical_mean_vorticity_tendencies_keg"   unit="s-2"      grid_ref="grid_W_2D" /> 
     506        <field id="dia_vor_int-31"    long_name="vertical integral vorticity tendencies for ldf"  standard_name="vertically_integrated_vorticity_tendencies_ldf"   unit="s-2"      grid_ref="grid_W_2D" /> 
     507        <field id="dia_vor_mean-32"    long_name="vertical mean vorticity tendencies for ldf"  standard_name="vertical_mean_vorticity_tendencies_ldf"   unit="s-2"      grid_ref="grid_W_2D" /> 
     508        <field id="dia_vor_int-41"    long_name="vertical integral vorticity tendencies for spg"  standard_name="vertically_integrated_vorticity_tendencies_spg"   unit="s-2"      grid_ref="grid_W_2D" /> 
     509        <field id="dia_vor_mean-42"    long_name="vertical mean vorticity tendencies for spg"  standard_name="vertical_mean_vorticity_tendencies_spg"   unit="s-2"      grid_ref="grid_W_2D" /> 
     510        <field id="dia_vor_int-51"    long_name="vertical integral vorticity tendencies for vor"  standard_name="vertically_integrated_vorticity_tendencies_vor"   unit="s-2"      grid_ref="grid_W_2D" /> 
     511        <field id="dia_vor_mean-52"    long_name="vertical mean vorticity tendencies for vor"  standard_name="vertical_mean_vorticity_tendencies_vor"   unit="s-2"      grid_ref="grid_W_2D" /> 
     512        <field id="dia_vor_int-61"    long_name="vertical integral vorticity tendencies for zad"  standard_name="vertically_integrated_vorticity_tendencies_zad"   unit="s-2"      grid_ref="grid_W_2D" /> 
     513        <field id="dia_vor_mean-62"    long_name="vertical mean vorticity tendencies for zad"  standard_name="vertical_mean_vorticity_tendencies_zad"   unit="s-2"      grid_ref="grid_W_2D" /> 
     514        <field id="dia_vor_int-71"    long_name="vertical integral vorticity tendencies for zdf"  standard_name="vertically_integrated_vorticity_tendencies_zdf"   unit="s-2"      grid_ref="grid_W_2D" /> 
     515        <field id="dia_vor_mean-72"    long_name="vertical mean vorticity tendencies for zdf"  standard_name="vertical_mean_vorticity_tendencies_zdf"   unit="s-2"      grid_ref="grid_W_2D" /> 
    504516      </field_group> 
    505517           
  • branches/UKMO/GO6_dyn_vrt_diag/NEMOGCM/NEMO/OPA_SRC/DYN/divcur.F90

    r7900 r8168  
    343343 
    344344 
    345    SUBROUTINE dyn_vrt_dia_3d( utend, vtend, id_dia_vor_int, id_dia_vor_mn) 
     345   ! TODO - remove kt only used for validation 
     346   SUBROUTINE dyn_vrt_dia_3d( utend, vtend, id_dia_vor_int, id_dia_vor_mn, kt) 
    346347 
    347348      !!---------------------------------------------------------------------- 
     
    356357      !! 
    357358      !!---------------------------------------------------------------------- 
    358       REAL :: utend(jpi,jpj,jpk) ! contribution to du/dt 
    359       REAL :: vtend(jpi,jpj,jpk) ! contribution to dv/dt 
    360       INTEGER :: id_dia_vor_int  ! identifier for the vertical integral vorticity diagnostic 
    361       INTEGER :: id_dia_vor_mn   ! identifier for the vertical mean vorticity diagnostic 
    362       ! 
    363       !!---------------------------------------------------------------------- 
    364       ! 
    365       INTEGER  ::   ji, jj, jk   ! dummy loop indices 
     359      REAL,    INTENT(in) :: utend(jpi,jpj,jpk) ! contribution to du/dt 
     360      REAL,    INTENT(in) :: vtend(jpi,jpj,jpk) ! contribution to dv/dt 
     361      INTEGER, INTENT(in) :: id_dia_vor_int  ! identifier for the vertical integral vorticity diagnostic 
     362      INTEGER, INTENT(in) :: id_dia_vor_mn   ! identifier for the vertical mean vorticity diagnostic 
     363      INTEGER             ::   kt   ! ocean time-step index 
     364      ! 
     365      !!---------------------------------------------------------------------- 
     366      ! 
     367      INTEGER  ::   ji, jj, jk     ! dummy loop indices 
     368      INTEGER  ::   ji_min, ji_max ! dummy loop indices for dynspg_flt 
    366369      ! 
    367370      REAL(wp), POINTER, DIMENSION(:,:) :: u_int   ! u vertical integral 
     
    370373      CALL wrk_alloc(jpi, jpj, u_int) 
    371374      CALL wrk_alloc(jpi, jpj, v_int) 
     375 
     376      ji_min = 1 
     377      ji_max = jpi 
     378 
     379      IF ( id_dia_vor_int == 71 .OR. id_dia_vor_mn == 72 ) THEN 
     380          ji_min = fs_2 
     381          ji_max = fs_jpim1 
     382      END IF 
    372383 
    373384      u_int(:,:) = 0.0_wp 
     
    380391      DO jk = 1,jpk 
    381392          DO jj = 1,jpj 
    382               DO ji = 1,jpi 
     393              DO ji = ji_min,ji_max 
    383394                  u_int(ji,jj) = u_int(ji,jj) + utend(ji,jj,jk)*fse3u(ji,jj,jk) 
    384395                  v_int(ji,jj) = v_int(ji,jj) + vtend(ji,jj,jk)*fse3v(ji,jj,jk) 
     396 
     397                  ! TODO remove - for validation only 
     398                  IF ( kt == 1 .AND. ji == 17 .AND. jj == 12 .AND. id_dia_vor_int == 11 ) THEN 
     399                      WRITE(numout, *) 'dyn_vrt_dia_3d id:', id_dia_vor_int,   & 
     400                             &         ':ji:', ji,                             & 
     401                             &         ':jj:', jj,                             & 
     402                             &         ':jk:', jk,                             & 
     403                             &         ':u_int:', u_int(ji,jj),                & 
     404                             &         ':u_tend:', utend(ji,jj,jk),            & 
     405                             &         ':fse3u:', fse3u(ji,jj,jk) 
     406                      WRITE(numout, *) 'dyn_vrt_dia_3d id:', id_dia_vor_int,   & 
     407                             &         ':ji:', ji,                             & 
     408                             &         ':jj:', jj,                             & 
     409                             &         ':jk:', jk,                             & 
     410                             &         ':v_int:', v_int(ji,jj),                & 
     411                             &         ':v_tend:', vtend(ji,jj,jk),            & 
     412                             &         ':fse3v:', fse3v(ji,jj,jk) 
     413                  END IF 
    385414              END DO 
    386415          END DO 
    387416      END DO 
    388417 
    389       CALL dyn_vrt_dia_2d(u_int, v_int, id_dia_vor_int, id_dia_vor_mn) 
     418      CALL dyn_vrt_dia_2d(u_int, v_int, id_dia_vor_int, id_dia_vor_mn, kt) 
    390419 
    391420      CALL wrk_dealloc(jpi, jpj, u_int) 
     
    395424 
    396425 
    397    SUBROUTINE dyn_vrt_dia_2d( u_int, v_int, id_dia_vor_int, id_dia_vor_mn) 
     426   ! TODO - remove kt only used for validation 
     427   SUBROUTINE dyn_vrt_dia_2d( u_int, v_int, id_dia_vor_int, id_dia_vor_mn, kt) 
    398428 
    399429      !!---------------------------------------------------------------------- 
     
    413443      !! 
    414444      !!---------------------------------------------------------------------- 
    415       REAL :: u_int(jpi,jpj)     ! u vertical integral 
    416       REAL :: v_int(jpi,jpj)     ! v vertical integral 
     445      REAL    :: u_int(jpi,jpj)  ! u vertical integral 
     446      REAL    :: v_int(jpi,jpj)  ! v vertical integral 
    417447      INTEGER :: id_dia_vor_int  ! identifier for the vertical integral vorticity diagnostic 
    418448      INTEGER :: id_dia_vor_mn   ! identifier for the vertical mean vorticity diagnostic 
     449      INTEGER :: kt              ! ocean time-step index 
    419450      ! 
    420451      !!---------------------------------------------------------------------- 
     
    427458      REAL(wp), POINTER, DIMENSION(:,:) :: vor_int ! vort trend of vert integrals 
    428459      REAL(wp), POINTER, DIMENSION(:,:) :: vor_mn  ! vort trend of vert means 
     460      CHARACTER(len=20) ::   cid_dia_vor_int       ! Identifier for iom_put 
     461      CHARACTER(len=20) ::   cid_dia_vor_mn        ! Identifier for iom_put 
    429462 
    430463      CALL wrk_alloc(jpi, jpj, u_mn) 
     
    435468      CALL lbc_lnk( u_int, 'U', 1. ) 
    436469      CALL lbc_lnk( v_int, 'V', 1. ) 
     470 
     471      WRITE ( cid_dia_vor_int, "(A16,I2)" ) "dia_vor_int-",  id_dia_vor_int 
     472      WRITE ( cid_dia_vor_mn,  "(A17,I2)" ) "dia_vor_mean-", id_dia_vor_mn 
    437473 
    438474      ! 
     
    448484                  &            - u_int(ji,jj+1) * e1u(ji,jj+1) )   & 
    449485                  &           / ( e1f(ji,jj)    * e2f(ji,jj) ) 
     486 
     487              ! TODO remove - for validation only 
     488              IF ( kt == 1 .AND. ji == 17 .AND. jj == 12 .AND. id_dia_vor_int == 11 ) THEN 
     489                  WRITE(numout, *) 'dyn_vrt_dia_2d id:', id_dia_vor_int, & 
     490                       &           ':ji:', ji,                           & 
     491                       &           ':jj:', jj,                           & 
     492                       &           ':vor_int:', vor_int(ji,jj),          & 
     493                       &           ':v_int(i+1):', v_int(ji+1,jj),       & 
     494                       &           ':e2v(j+1):', e2v(ji+1,jj),           & 
     495                       &           ':v_int:', v_int(ji,jj),              & 
     496                       &           ':e2v:', e2v(ji,jj),                  & 
     497                       &           ':u_int:', u_int(ji,jj),              & 
     498                       &           ':e1u:', e1u(ji,jj),                  & 
     499                       &           ':u_int(j+1):', u_int(ji,jj+1),       & 
     500                       &           ':e1u(j+1):', e1u(ji,jj+1),           & 
     501                       &           ':e1f:', e1f(ji,jj),                  & 
     502                       &           ':e2f:', e2f(ji,jj) 
     503              END IF 
    450504          END DO 
    451505      END DO 
     
    473527              ELSE 
    474528                  v_mn(ji,jj) = 0.0_wp 
     529              END IF 
     530 
     531              ! TODO remove - for validation only 
     532              IF ( kt == 1 .AND. ji == 17 .AND. jj == 12 .AND. id_dia_vor_int == 11 ) THEN 
     533                  WRITE(numout, *) 'dyn_vrt_dia_2d id:', id_dia_vor_int, & 
     534                       &           ':ikbu:', ikbu,                       & 
     535                       &           ':u_int:', u_int(ji,jj),              & 
     536                       &           ':u_mn:', u_mn(ji,jj),                & 
     537                       &           ':ikbv:', ikbv,                       & 
     538                       &           ':v_int:', v_int(ji,jj),              & 
     539                       &           ':v_mn:', v_mn(ji,jj) 
    475540              END IF 
    476541          END DO 
     
    489554                  &           - u_mn(ji,jj+1) * e1u(ji,jj+1) )   & 
    490555                  &          / ( e1f(ji,jj)   * e2f(ji,jj) ) 
     556 
     557              ! TODO remove - for validation only 
     558              IF ( kt == 1 .AND. ji == 17 .AND. jj == 12 .AND. id_dia_vor_int == 11 ) THEN 
     559                  WRITE(numout, *) 'dyn_vrt_dia_2d id:', id_dia_vor_int, & 
     560                       &           ':ji:', ji,                           & 
     561                       &           ':jj:', jj,                           & 
     562                       &           ':vor_mn:', vor_mn(ji,jj),            & 
     563                       &           ':v_mn(i+1):', v_mn(ji+1,jj),         & 
     564                       &           ':e2v(j+1):', e2v(ji+1,jj),           & 
     565                       &           ':v_mn:', v_mn(ji,jj),                & 
     566                       &           ':e2v:', e2v(ji,jj),                  & 
     567                       &           ':u_mn:', u_mn(ji,jj),                & 
     568                       &           ':e1u:', e1u(ji,jj),                  & 
     569                       &           ':u_mn(j+1):', u_mn(ji,jj+1),         & 
     570                       &           ':e1u(j+1):', e1u(ji,jj+1),           & 
     571                       &           ':e1f:', e1f(ji,jj),                  & 
     572                       &           ':e2f:', e2f(ji,jj) 
     573              END IF 
    491574          END DO 
    492575      END DO 
     
    494577 
    495578      ! Call iom_put for the vertical integral vorticity tendencies 
    496       IF (id_dia_vor_int == 1) THEN 
    497           CALL iom_put( "dia_vor_int", vor_int(:,:)) 
    498       ENDIF 
     579      CALL iom_put( cid_dia_vor_int, vor_int(:,:)) 
    499580 
    500581      ! Call iom_put for the vertical mean vorticity tendencies 
    501       IF (id_dia_vor_int == 1) THEN 
    502           CALL iom_put( "dia_vor_mn", vor_mn(:,:)) 
    503       ENDIF 
     582      CALL iom_put( cid_dia_vor_mn, vor_mn(:,:)) 
    504583 
    505584      CALL wrk_dealloc(jpi, jpj, u_mn) 
  • branches/UKMO/GO6_dyn_vrt_diag/NEMOGCM/NEMO/OPA_SRC/DYN/dynhpg.F90

    r7900 r8168  
    379379      INTEGER, INTENT(in) ::   kt    ! ocean time-step index 
    380380      !! 
    381       INTEGER  ::   id_dia_vrt_hpg_int  = 1    ! TODO remove once flags set properly 
    382       INTEGER  ::   id_dia_vrt_hpg_mean = 1    ! TODO remove once flags set properly 
     381      INTEGER  ::   id_dia_vrt_hpg_int  = 11   ! TODO remove once flags set properly 
     382      INTEGER  ::   id_dia_vrt_hpg_mean = 12   ! TODO remove once flags set properly 
    383383      INTEGER  ::   ji, jj, jk                 ! dummy loop indices 
    384384      REAL(wp) ::   zcoef0, zuap, zvap, znad   ! temporary scalars 
    385385      REAL(wp), POINTER, DIMENSION(:,:,:) ::  zhpi, zhpj 
     386      REAL(wp), POINTER, DIMENSION(:,:,:) ::  zuhpg, zvhpg 
    386387      !!---------------------------------------------------------------------- 
    387388      ! 
    388389      CALL wrk_alloc( jpi,jpj,jpk, zhpi, zhpj ) 
     390      CALL wrk_alloc( jpi,jpj,jpk, zuhpg, zvhpg ) 
    389391      ! 
    390392      IF( kt == nit000 ) THEN 
     
    404406      DO jj = 2, jpjm1 
    405407         DO ji = fs_2, fs_jpim1   ! vector opt. 
     408            ! hydrostatic pressure gradient along s-surfaces 
     409            zhpi(ji,jj,1) = zcoef0 / e1u(ji,jj) * ( fse3w(ji+1,jj  ,1) * ( znad + rhd(ji+1,jj  ,1) )   & 
     410               &                                  - fse3w(ji  ,jj  ,1) * ( znad + rhd(ji  ,jj  ,1) ) ) 
     411            zhpj(ji,jj,1) = zcoef0 / e2v(ji,jj) * ( fse3w(ji  ,jj+1,1) * ( znad + rhd(ji  ,jj+1,1) )   & 
     412               &                                  - fse3w(ji  ,jj  ,1) * ( znad + rhd(ji  ,jj  ,1) ) ) 
    406413            ! s-coordinate pressure gradient correction 
    407414            zuap = -zcoef0 * ( rhd   (ji+1,jj,1) + rhd   (ji,jj,1) + 2._wp * znad )   & 
     
    409416            zvap = -zcoef0 * ( rhd   (ji,jj+1,1) + rhd   (ji,jj,1) + 2._wp * znad )   & 
    410417               &           * ( fsde3w(ji,jj+1,1) - fsde3w(ji,jj,1) ) / e2v(ji,jj) 
    411             ! hydrostatic pressure gradient along s-surfaces added to above correction 
    412             zhpi(ji,jj,1) = zuap + zcoef0 / e1u(ji,jj) * ( fse3w(ji+1,jj  ,1) * ( znad + rhd(ji+1,jj  ,1) )   & 
    413                &                                  - fse3w(ji  ,jj  ,1) * ( znad + rhd(ji  ,jj  ,1) ) ) 
    414             zhpj(ji,jj,1) = zvap + zcoef0 / e2v(ji,jj) * ( fse3w(ji  ,jj+1,1) * ( znad + rhd(ji  ,jj+1,1) )   & 
    415                &                                  - fse3w(ji  ,jj  ,1) * ( znad + rhd(ji  ,jj  ,1) ) ) 
     418            ! combine gradient and corerction 
     419            zuhpg(ji,jj,1) = zhpi(ji,jj,1) + zuap 
     420            zvhpg(ji,jj,1) = zhpj(ji,jj,1) + zvap 
    416421            ! add to the general momentum trend 
    417             ua(ji,jj,1) = ua(ji,jj,1) + zhpi(ji,jj,1) 
    418             va(ji,jj,1) = va(ji,jj,1) + zhpj(ji,jj,1) 
     422            ua(ji,jj,1) = ua(ji,jj,1) + zuhpg(ji,jj,1) 
     423            va(ji,jj,1) = va(ji,jj,1) + zvhpg(ji,jj,1) 
    419424         END DO 
    420425      END DO 
     
    424429         DO jj = 2, jpjm1 
    425430            DO ji = fs_2, fs_jpim1   ! vector opt. 
     431               ! hydrostatic pressure gradient along s-surfaces 
     432               zhpi(ji,jj,jk) = zhpi(ji,jj,jk-1) + zcoef0 / e1u(ji,jj)   & 
     433                  &           * (  fse3w(ji+1,jj,jk) * ( rhd(ji+1,jj,jk) + rhd(ji+1,jj,jk-1) + 2*znad )   & 
     434                  &              - fse3w(ji  ,jj,jk) * ( rhd(ji  ,jj,jk) + rhd(ji  ,jj,jk-1) + 2*znad )  ) 
     435               zhpj(ji,jj,jk) = zhpj(ji,jj,jk-1) + zcoef0 / e2v(ji,jj)   & 
     436                  &           * (  fse3w(ji,jj+1,jk) * ( rhd(ji,jj+1,jk) + rhd(ji,jj+1,jk-1) + 2*znad )   & 
     437                  &              - fse3w(ji,jj  ,jk) * ( rhd(ji,jj,  jk) + rhd(ji,jj  ,jk-1) + 2*znad )  ) 
    426438               ! s-coordinate pressure gradient correction 
    427439               zuap = -zcoef0 * ( rhd   (ji+1,jj  ,jk) + rhd   (ji,jj,jk) + 2._wp * znad )   & 
     
    429441               zvap = -zcoef0 * ( rhd   (ji  ,jj+1,jk) + rhd   (ji,jj,jk) + 2._wp * znad )   & 
    430442                  &           * ( fsde3w(ji  ,jj+1,jk) - fsde3w(ji,jj,jk) ) / e2v(ji,jj) 
    431                ! hydrostatic pressure gradient along s-surfaces added to above correction 
    432                zhpi(ji,jj,jk) = zuap + zhpi(ji,jj,jk-1) + zcoef0 / e1u(ji,jj)   & 
    433                   &           * (  fse3w(ji+1,jj,jk) * ( rhd(ji+1,jj,jk) + rhd(ji+1,jj,jk-1) + 2*znad )   & 
    434                   &              - fse3w(ji  ,jj,jk) * ( rhd(ji  ,jj,jk) + rhd(ji  ,jj,jk-1) + 2*znad )  ) 
    435                zhpj(ji,jj,jk) = zvap + zhpj(ji,jj,jk-1) + zcoef0 / e2v(ji,jj)   & 
    436                   &           * (  fse3w(ji,jj+1,jk) * ( rhd(ji,jj+1,jk) + rhd(ji,jj+1,jk-1) + 2*znad )   & 
    437                   &              - fse3w(ji,jj  ,jk) * ( rhd(ji,jj,  jk) + rhd(ji,jj  ,jk-1) + 2*znad )  ) 
     443               ! combine gradient and corerction 
     444               zuhpg(ji,jj,jk) = zhpi(ji,jj,jk) + zuap 
     445               zvhpg(ji,jj,jk) = zhpj(ji,jj,jk) + zvap 
    438446               ! add to the general momentum trend 
    439                ua(ji,jj,jk) = ua(ji,jj,jk) + zhpi(ji,jj,jk) 
    440                va(ji,jj,jk) = va(ji,jj,jk) + zhpj(ji,jj,jk) 
     447               ua(ji,jj,jk) = ua(ji,jj,jk) + zuhpg(ji,jj,jk) 
     448               va(ji,jj,jk) = va(ji,jj,jk) + zvhpg(ji,jj,jk) 
    441449            END DO 
    442450         END DO 
     
    444452      ! 
    445453      ! calculate dia_vor_int & dia_vor_mn if required 
    446       IF ( ( id_dia_vrt_hpg_int == 1 ) .or. ( id_dia_vrt_hpg_mean == 1 ) ) THEN 
    447           CALL dyn_vrt_dia_3d(zhpi, zhpj, id_dia_vrt_hpg_int, id_dia_vrt_hpg_mean) 
     454      IF ( ( id_dia_vrt_hpg_int == 11 ) .or. ( id_dia_vrt_hpg_mean == 12 ) ) THEN 
     455          ! TODO - remove kt only used for validation 
     456          CALL dyn_vrt_dia_3d(zuhpg, zvhpg, id_dia_vrt_hpg_int, id_dia_vrt_hpg_mean, kt) 
    448457      END IF 
    449458      ! 
  • branches/UKMO/GO6_dyn_vrt_diag/NEMOGCM/NEMO/OPA_SRC/DYN/dynkeg.F90

    r7845 r8168  
    7575      INTEGER, INTENT( in ) ::   kscheme    ! =0/1   type of KEG scheme  
    7676      ! 
    77       INTEGER  ::   id_dia_vrt_keg_int  = 1 ! TODO remove once flags set properly 
    78       INTEGER  ::   id_dia_vrt_keg_mean = 1 ! TODO remove once flags set properly 
    79       INTEGER  ::   ji, jj, jk              ! dummy loop indices 
    80       REAL(wp) ::   zu, zv                  ! temporary scalars 
     77      INTEGER  ::  id_dia_vrt_keg_int  = 21 ! TODO remove once flags set properly 
     78      INTEGER  ::  id_dia_vrt_keg_mean = 22 ! TODO remove once flags set properly 
     79      INTEGER  ::  ji, jj, jk               ! dummy loop indices 
     80      REAL(wp) ::  zu, zv                   ! temporary scalars 
    8181      REAL(wp), POINTER, DIMENSION(:,:,:) :: zhke, zhkei, zhkej 
    8282      REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrdu, ztrdv  
     
    148148      END DO 
    149149      ! 
    150       IF ( ( id_dia_vrt_keg_int == 1 ) .or. ( id_dia_vrt_keg_mean == 1 ) ) THEN 
    151           CALL dyn_vrt_dia_3d(zhkei, zhkej, id_dia_vrt_keg_int, id_dia_vrt_keg_mean) 
     150      IF ( ( id_dia_vrt_keg_int == 21 ) .or. ( id_dia_vrt_keg_mean == 22 ) ) THEN 
     151          ! TODO - remove kt only used for validation 
     152          CALL dyn_vrt_dia_3d(zhkei, zhkej, id_dia_vrt_keg_int, id_dia_vrt_keg_mean, kt) 
    152153      END IF 
    153154      ! 
  • branches/UKMO/GO6_dyn_vrt_diag/NEMOGCM/NEMO/OPA_SRC/DYN/dynldf_bilap.F90

    r7845 r8168  
    7676      INTEGER, INTENT(in) ::   kt   ! ocean time-step index 
    7777      ! 
    78       INTEGER  :: id_dia_vrt_ldf_int  = 1      ! TODO remove once flags set properly 
    79       INTEGER  :: id_dia_vrt_ldf_mean = 1      ! TODO remove once flags set properly 
     78      INTEGER  :: id_dia_vrt_ldf_int  = 31     ! TODO remove once flags set properly 
     79      INTEGER  :: id_dia_vrt_ldf_mean = 32     ! TODO remove once flags set properly 
    8080      INTEGER  ::   ji, jj, jk                  ! dummy loop indices 
    8181      REAL(wp) ::   zbt, ze2u, ze2v             ! temporary scalar 
     
    194194               ze2v = e1v(ji,jj) * fse3v(ji,jj,jk) 
    195195               ! horizontal biharmonic diffusive trends 
    196                zua(ji,jj,jk) = - ( zuf(ji  ,jj,jk) - zuf(ji,jj-1,jk) ) / ze2u   & 
    197                   &  + ( zut(ji+1,jj,jk) - zut(ji,jj  ,jk) ) / e1u(ji,jj)       & 
     196               zua(ji,jj,jk) = ( - ( zuf(ji  ,jj,jk) - zuf(ji,jj-1,jk) ) / ze2u   & 
     197                  &  + ( zut(ji+1,jj,jk) - zut(ji,jj  ,jk) ) / e1u(ji,jj) )       & 
    198198                  &  * ( fsahmu(ji,jj,jk)*nkahm_smag +(1 -nkahm_smag )) 
    199                zva(ji,jj,jk) = + ( zuf(ji,jj  ,jk) - zuf(ji-1,jj,jk) ) / ze2v   & 
    200                   &  + ( zut(ji,jj+1,jk) - zut(ji  ,jj,jk) ) / e2v(ji,jj)       & 
     199               zva(ji,jj,jk) = ( + ( zuf(ji,jj  ,jk) - zuf(ji-1,jj,jk) ) / ze2v   & 
     200                  &  + ( zut(ji,jj+1,jk) - zut(ji  ,jj,jk) ) / e2v(ji,jj) )       & 
    201201                  &  * ( fsahmv(ji,jj,jk)*nkahm_smag +(1 -nkahm_smag )) 
    202202               ! add it to the general momentum trends 
     
    209209      END DO                                           !   End of slab 
    210210      !                                                ! =============== 
    211       IF ( ( id_dia_vrt_ldf_int == 1 ) .or. ( id_dia_vrt_ldf_mean == 1 ) ) THEN 
    212           CALL dyn_vrt_dia_3d(zua, zva, id_dia_vrt_ldf_int, id_dia_vrt_ldf_mean) 
     211      IF ( ( id_dia_vrt_ldf_int == 31 ) .or. ( id_dia_vrt_ldf_mean == 32 ) ) THEN 
     212          ! TODO - remove kt only used for validation 
     213          CALL dyn_vrt_dia_3d(zua, zva, id_dia_vrt_ldf_int, id_dia_vrt_ldf_mean, kt) 
    213214      END IF 
    214215      ! 
  • branches/UKMO/GO6_dyn_vrt_diag/NEMOGCM/NEMO/OPA_SRC/DYN/dynvor.F90

    r7845 r8168  
    561561      REAL(wp), INTENT(inout), DIMENSION(jpi,jpj,jpk) ::   pva    ! total v-trend 
    562562      !! 
    563       INTEGER  :: id_dia_vrt_vor_int = 1                          ! TODO remove once flags set properly 
    564       INTEGER  :: id_dia_vrt_vor_mn  = 1                          ! TODO remove once flags set properly 
     563      INTEGER  :: id_dia_vrt_vor_int = 51                         ! TODO remove once flags set properly 
     564      INTEGER  :: id_dia_vrt_vor_mn  = 52                         ! TODO remove once flags set properly 
    565565      INTEGER  ::   ji, jj, jk                                    ! dummy loop indices 
    566566      INTEGER  ::   ierr                                          ! local integer 
     
    707707      END DO                                           !   End of slab 
    708708      !                                                ! =============== 
    709       IF ( ( id_dia_vrt_vor_int == 1 ) .or. ( id_dia_vrt_vor_mn == 1 ) ) THEN 
    710           CALL dyn_vrt_dia_3d(zua, zva, id_dia_vrt_vor_int, id_dia_vrt_vor_mn) 
     709      IF ( ( id_dia_vrt_vor_int == 51 ) .or. ( id_dia_vrt_vor_mn == 52 ) ) THEN 
     710          ! TODO - remove kt only used for validation 
     711          CALL dyn_vrt_dia_3d(zua, zva, id_dia_vrt_vor_int, id_dia_vrt_vor_mn, kt) 
    711712      END IF 
    712713      ! 
  • branches/UKMO/GO6_dyn_vrt_diag/NEMOGCM/NEMO/OPA_SRC/DYN/dynzad.F90

    r7845 r8168  
    6060      INTEGER, INTENT(in) ::   kt   ! ocean time-step inedx 
    6161      ! 
    62       INTEGER  ::   id_dia_vrt_zad_int  = 1  ! TODO remove once flags set properly 
    63       INTEGER  ::   id_dia_vrt_zad_mean = 1  ! TODO remove once flags set properly 
    64       INTEGER  ::   ji, jj, jk               ! dummy loop indices 
     62      INTEGER  ::   id_dia_vrt_zad_int  = 61  ! TODO remove once flags set properly 
     63      INTEGER  ::   id_dia_vrt_zad_mean = 62  ! TODO remove once flags set properly 
     64      INTEGER  ::   ji, jj, jk                ! dummy loop indices 
    6565      REAL(wp), POINTER, DIMENSION(:,:,:) ::  zwuw , zwvw 
    6666      REAL(wp), POINTER, DIMENSION(:,:  ) ::  zww 
     
    145145         &                       tab3d_2=va, clinfo2=       ' Va: ', mask2=vmask, clinfo3='dyn' ) 
    146146      ! 
    147       IF ( ( id_dia_vrt_zad_int == 1 ) .or. ( id_dia_vrt_zad_mean == 1 ) ) THEN 
    148           CALL dyn_vrt_dia_3d(zua, zva, id_dia_vrt_zad_int, id_dia_vrt_zad_mean) 
     147      IF ( ( id_dia_vrt_zad_int == 61 ) .or. ( id_dia_vrt_zad_mean == 62 ) ) THEN 
     148          ! TODO - remove kt only used for validation 
     149          CALL dyn_vrt_dia_3d(zua, zva, id_dia_vrt_zad_int, id_dia_vrt_zad_mean, kt) 
    149150      END IF 
    150151      ! 
  • branches/UKMO/GO6_dyn_vrt_diag/NEMOGCM/NEMO/OPA_SRC/DYN/dynzdf_imp.F90

    r7885 r8168  
    6969      INTEGER  ::   ji, jj, jk   ! dummy loop indices 
    7070      INTEGER  ::   ikbu, ikbv   ! local integers 
    71       INTEGER  ::   id_dia_vrt_zdf_int  = 1 ! TODO remove once flags set properly 
    72       INTEGER  ::   id_dia_vrt_zdf_mean = 1 ! TODO remove once flags set properly 
     71      INTEGER  ::   id_dia_vrt_zdf_int = 71 ! TODO remove once flags set properly 
     72      INTEGER  ::   id_dia_vrt_zdf_mn  = 72 ! TODO remove once flags set properly 
    7373      REAL(wp) ::   z1_p2dt, zcoef, zzwi, zzws, zrhs   ! local scalars 
    7474      REAL(wp) ::   ze3ua, ze3va 
     
    262262      END DO 
    263263 
     264      IF ( ( .NOT. lk_dynspg_ts ) .OR.            & 
     265           &    ( ( id_dia_vrt_zdf_int == 71 ) .OR. ( id_dia_vrt_zdf_mn == 72 ) ) ) THEN 
    264266      ! Normalization to obtain the general momentum trend ua 
    265       IF ( ( .NOT. lk_dynspg_ts ) .OR.            & 
    266            &    ( ( id_dia_vrt_zdf_int == 1 ) .OR. ( id_dia_vrt_zdf_mean == 1 ) ) ) THEN 
    267267          DO jk = 1, jpkm1 
    268268             DO jj = 2, jpjm1    
     
    367367      END DO 
    368368 
     369      IF ( ( .NOT. lk_dynspg_ts ) .OR.            & 
     370           &    ( ( id_dia_vrt_zdf_int == 71 ) .OR. ( id_dia_vrt_zdf_mn == 72 ) ) ) THEN 
    369371      ! Normalization to obtain the general momentum trend va 
    370       IF ( ( .NOT. lk_dynspg_ts ) .OR.            & 
    371            &    ( ( id_dia_vrt_zdf_int == 1 ) .OR. ( id_dia_vrt_zdf_mean == 1 ) ) ) THEN 
    372372          DO jk = 1, jpkm1 
    373373             DO jj = 2, jpjm1    
     
    377377             END DO 
    378378          END DO 
    379           IF ( ( id_dia_vrt_zdf_int == 1 ) .OR. (id_dia_vrt_zdf_mean == 1) ) THEN 
    380               CALL dyn_vrt_dia_3d(zua, zva, id_dia_vrt_zdf_int, id_dia_vrt_zdf_mean) 
     379          IF ( ( id_dia_vrt_zdf_int == 71 ) .OR. (id_dia_vrt_zdf_mn == 72) ) THEN 
     380              ! TODO - remove kt only used for validation 
     381              CALL dyn_vrt_dia_3d(zua, zva, id_dia_vrt_zdf_int, id_dia_vrt_zdf_mn, kt) 
    381382          END IF 
    382383          IF ( .NOT. lk_dynspg_ts ) THEN 
Note: See TracChangeset for help on using the changeset viewer.