Changeset 9462


Ignore:
Timestamp:
2018-04-06T17:48:30+02:00 (3 years ago)
Author:
jcastill
Message:

Rearrange some lines so that it merges with operational branches

Location:
branches/UKMO/r6232_HZG_WAVE-coupling/NEMOGCM/NEMO/OPA_SRC
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/r6232_HZG_WAVE-coupling/NEMOGCM/NEMO/OPA_SRC/DIA/diawri.F90

    r7600 r9462  
    10671067 
    10681068      ! Write all fields on T grid 
     1069      IF( ln_wave .AND. ln_sdw ) THEN  
     1070         CALL histwrite( id_i, "sdzocrtx", kt, usd           , jpi*jpj*jpk, idex)     ! now StokesDrift i-velocity  
     1071         CALL histwrite( id_i, "sdmecrty", kt, vsd           , jpi*jpj*jpk, idex)     ! now StokesDrift j-velocity  
     1072         CALL histwrite( id_i, "sdvecrtz", kt, wsd           , jpi*jpj*jpk, idex)     ! now StokesDrift k-velocity  
     1073      ENDIF  
    10691074      CALL histwrite( id_i, "votemper", kt, tsn(:,:,:,jp_tem), jpi*jpj*jpk, idex )    ! now temperature 
    10701075      CALL histwrite( id_i, "vosaline", kt, tsn(:,:,:,jp_sal), jpi*jpj*jpk, idex )    ! now salinity 
     
    10831088         CALL histwrite( id_i, "vovvle3t", kt, fse3t_n (:,:,:), jpi*jpj*jpk, idex )!  T-cell thickness   
    10841089      END IF 
    1085        
    1086       IF( ln_wave .AND. ln_sdw ) THEN  
    1087          CALL histwrite( id_i, "sdzocrtx", kt, usd           , jpi*jpj*jpk, idex)     ! now StokesDrift i-velocity  
    1088          CALL histwrite( id_i, "sdmecrty", kt, vsd           , jpi*jpj*jpk, idex)     ! now StokesDrift j-velocity  
    1089          CALL histwrite( id_i, "sdvecrtz", kt, wsd           , jpi*jpj*jpk, idex)     ! now StokesDrift k-velocity  
    1090       ENDIF  
    10911090 
    10921091      ! 3. Close the file 
  • branches/UKMO/r6232_HZG_WAVE-coupling/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_ts.F90

    r7606 r9462  
    467467                &                        + fwfisf(:,:) + fwfisf_b(:,:)                     ) 
    468468      ENDIF 
    469       !  
     469      !                                   !* Fill boundary data arrays for AGRIF 
     470      !                                   ! ------------------------------------ 
     471#if defined key_agrif 
     472         IF( .NOT.Agrif_Root() ) CALL agrif_dta_ts( kt ) 
     473#endif 
     474      ! 
     475      ! ----------------------------------------------------------------------- 
     476      !  Phase 2 : Integration of the barotropic equations  
     477      ! ----------------------------------------------------------------------- 
     478      ! 
     479      ! Moved here to allow merging with other branch  
    470480      IF( ln_sdw ) THEN                         ! Stokes drift divergence added if necessary  
    471481         zssh_frc(:,:) = zssh_frc(:,:) + div_sd(:,:)  
     
    478488      ENDIF 
    479489#endif 
    480       !                                   !* Fill boundary data arrays for AGRIF 
    481       !                                   ! ------------------------------------ 
    482 #if defined key_agrif 
    483          IF( .NOT.Agrif_Root() ) CALL agrif_dta_ts( kt ) 
    484 #endif 
    485       ! 
    486       ! ----------------------------------------------------------------------- 
    487       !  Phase 2 : Integration of the barotropic equations  
    488       ! ----------------------------------------------------------------------- 
    489       ! 
    490490      !                                             ! ==================== ! 
    491491      !                                             !    Initialisations   ! 
  • branches/UKMO/r6232_HZG_WAVE-coupling/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfgls.F90

    r8115 r9462  
    335335      ! --------------------------------- 
    336336      ! 
    337       SELECT CASE ( nn_bc_surf ) 
    338       ! 
    339       CASE ( 0 )             ! Dirichlet case 
    340          IF( ln_phioc ) THEN  ! wave induced mixing case with forced/coupled fields 
     337      IF( ln_phioc ) THEN 
     338         SELECT CASE ( nn_bc_surf ) 
     339         ! 
     340         CASE ( 0 )             ! Dirichlet case 
    341341            IF( nn_wmix==jp_janssen ) THEN 
    342342               ! First level 
     
    367367               ! 
    368368            ENDIF 
    369          ELSE                 ! wave induced mixing case with default values 
    370             en(:,:,1) = rc02r * ustars2(:,:) * (1._wp + rsbc_tke1_default)**(2._wp/3._wp) 
    371             en(:,:,1) = MAX(en(:,:,1), rn_emin)  
    372             z_elem_a(:,:,1) = en(:,:,1) 
    373             z_elem_c(:,:,1) = 0._wp 
    374             z_elem_b(:,:,1) = 1._wp 
    375             !  
    376             ! One level below 
    377             en(:,:,2) = rc02r * ustars2(:,:) * (1._wp + rsbc_tke1_default * ((zhsro(:,:)+fsdepw(:,:,2)) & 
    378                 &            / zhsro(:,:) )**(1.5_wp*ra_sf))**(2._wp/3._wp) 
    379             en(:,:,2) = MAX(en(:,:,2), rn_emin ) 
    380             z_elem_a(:,:,2) = 0._wp  
    381             z_elem_c(:,:,2) = 0._wp 
    382             z_elem_b(:,:,2) = 1._wp 
    383             ! 
    384             ! 
    385          ENDIF 
    386       CASE ( 1 )             ! Neumann boundary condition on d(e)/dz 
    387          IF( ln_phioc ) THEN   ! Shear free case: d(e)/dz=Fw with forced/coupled fields 
     369         CASE ( 1 )             ! Neumann boundary condition on d(e)/dz 
    388370            IF( nn_wmix==jp_janssen ) THEN 
    389371               ! Dirichlet conditions at k=1 
     
    416398               ! 
    417399            ENDIF 
    418          ELSE                  ! Shear free case: d(e)/dz=Fw with default values 
    419             ! Dirichlet conditions at k=1 
    420             en(:,:,1)       = rc02r * ustars2(:,:) * (1._wp + rsbc_tke1_default)**(2._wp/3._wp) 
    421             en(:,:,1)       = MAX(en(:,:,1), rn_emin)       
    422             z_elem_a(:,:,1) = en(:,:,1) 
    423             z_elem_c(:,:,1) = 0._wp 
    424             z_elem_b(:,:,1) = 1._wp 
    425             ! 
    426             ! at k=2, set de/dz=Fw 
    427             !cbr 
    428             z_elem_b(:,:,2) = z_elem_b(:,:,2) +  z_elem_a(:,:,2) ! Remove z_elem_a from z_elem_b 
    429             z_elem_a(:,:,2) = 0._wp 
    430             zkar(:,:)       = (rl_sf + (vkarmn-rl_sf)*(1.-exp(-rtrans_default*fsdept(:,:,1)/zhsro(:,:)) )) 
    431             zflxs(:,:)      = rsbc_tke2 * ustars2(:,:)**1.5_wp * zkar(:,:) & 
    432                  &                      * ((zhsro(:,:)+fsdept(:,:,1))/zhsro(:,:) )**(1.5_wp*ra_sf) 
    433  
    434             en(:,:,2) = en(:,:,2) + zflxs(:,:)/fse3w(:,:,2) 
    435             ! 
    436             ! 
    437          ENDIF 
     400         END SELECT 
     401      ELSE 
     402      SELECT CASE ( nn_bc_surf ) 
     403      ! 
     404      CASE ( 0 )             ! Dirichlet case 
     405      ! First level 
     406      en(:,:,1) = rc02r * ustars2(:,:) * (1._wp + rsbc_tke1_default)**(2._wp/3._wp) 
     407      en(:,:,1) = MAX(en(:,:,1), rn_emin)  
     408      z_elem_a(:,:,1) = en(:,:,1) 
     409      z_elem_c(:,:,1) = 0._wp 
     410      z_elem_b(:,:,1) = 1._wp 
     411      !  
     412      ! One level below 
     413      en(:,:,2) = rc02r * ustars2(:,:) * (1._wp + rsbc_tke1_default * ((zhsro(:,:)+fsdepw(:,:,2)) & 
     414          &            / zhsro(:,:) )**(1.5_wp*ra_sf))**(2._wp/3._wp) 
     415      en(:,:,2) = MAX(en(:,:,2), rn_emin ) 
     416      z_elem_a(:,:,2) = 0._wp  
     417      z_elem_c(:,:,2) = 0._wp 
     418      z_elem_b(:,:,2) = 1._wp 
     419      ! 
     420      ! 
     421      CASE ( 1 )             ! Neumann boundary condition on d(e)/dz 
     422      ! Dirichlet conditions at k=1 
     423      en(:,:,1)       = rc02r * ustars2(:,:) * (1._wp + rsbc_tke1_default)**(2._wp/3._wp) 
     424      en(:,:,1)       = MAX(en(:,:,1), rn_emin)       
     425      z_elem_a(:,:,1) = en(:,:,1) 
     426      z_elem_c(:,:,1) = 0._wp 
     427      z_elem_b(:,:,1) = 1._wp 
     428      ! 
     429      ! at k=2, set de/dz=Fw 
     430      !cbr 
     431      z_elem_b(:,:,2) = z_elem_b(:,:,2) +  z_elem_a(:,:,2) ! Remove z_elem_a from z_elem_b 
     432      z_elem_a(:,:,2) = 0._wp 
     433      zkar(:,:)       = (rl_sf + (vkarmn-rl_sf)*(1.-exp(-rtrans_default*fsdept(:,:,1)/zhsro(:,:)) )) 
     434      zflxs(:,:)      = rsbc_tke2 * ustars2(:,:)**1.5_wp * zkar(:,:) & 
     435           &                      * ((zhsro(:,:)+fsdept(:,:,1))/zhsro(:,:) )**(1.5_wp*ra_sf) 
     436 
     437      en(:,:,2) = en(:,:,2) + zflxs(:,:)/fse3w(:,:,2) 
     438      ! 
     439      ! 
    438440      END SELECT 
     441      ENDIF ! ln_phioc 
    439442 
    440443      ! Bottom boundary condition on tke 
Note: See TracChangeset for help on using the changeset viewer.