- Timestamp:
- 2017-08-01T16:12:29+02:00 (7 years ago)
- Location:
- branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/OPA_SRC/DYN
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/OPA_SRC/DYN/dynhpg.F90
r6486 r8400 44 44 USE wrk_nemo ! Memory Allocation 45 45 USE timing ! Timing 46 USE biaspar ! bias correction variables 46 47 47 48 IMPLICIT NONE … … 84 85 INTEGER, INTENT(in) :: kt ! ocean time-step index 85 86 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrdu, ztrdv 87 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: z_rhd_st ! tmp density storage for pressure corr 88 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: z_gru_st ! tmp ua trends storage for pressure corr 89 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: z_grv_st ! tmp va trends storage for pressure corr 86 90 !!---------------------------------------------------------------------- 87 91 ! … … 92 96 ztrdu(:,:,:) = ua(:,:,:) 93 97 ztrdv(:,:,:) = va(:,:,:) 98 ENDIF 99 ! 100 IF ( ln_bias .AND. ln_bias_pc_app ) THEN 101 102 !Allocate space for tempory variables 103 ALLOCATE( z_rhd_st(jpi,jpj,jpk), & 104 & z_gru_st(jpi,jpj), & 105 & z_grv_st(jpi,jpj) ) 106 107 z_rhd_st(:,:,:) = rhd(:,:,:) ! store orig density 108 rhd(:,:,:) = rhd_pc(:,:,:) ! use pressure corrected density 109 z_gru_st(:,:) = gru(:,:) 110 gru(:,:) = gru_pc(:,:) 111 z_grv_st(:,:) = grv(:,:) 112 grv(:,:) = grv_pc(:,:) 113 94 114 ENDIF 95 115 ! … … 112 132 IF(ln_ctl) CALL prt_ctl( tab3d_1=ua, clinfo1=' hpg - Ua: ', mask1=umask, & 113 133 & tab3d_2=va, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' ) 134 ! 135 IF ( ln_bias .AND. ln_bias_pc_app ) THEN 136 rhd(:,:,:) = z_rhd_st(:,:,:) ! restore original density 137 gru(:,:) = z_gru_st(:,:) 138 grv(:,:) = z_grv_st(:,:) 139 140 !Deallocate tempory variables 141 DEALLOCATE( z_rhd_st, & 142 & z_gru_st, & 143 & z_grv_st ) 144 ENDIF 114 145 ! 115 146 IF( nn_timing == 1 ) CALL timing_stop('dyn_hpg') -
branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/OPA_SRC/DYN/sshwzv.F90
r6487 r8400 74 74 INTEGER, INTENT(in) :: kt ! time step 75 75 ! 76 INTEGER :: jk ! dummy loop indice 76 INTEGER :: jk ! dummy loop indices 77 77 REAL(wp) :: z2dt, z1_rau0 ! local scalars 78 78 !!---------------------------------------------------------------------- … … 94 94 z2dt = 2._wp * rdt ! set time step size (Euler/Leapfrog) 95 95 IF( neuler == 0 .AND. kt == nit000 ) z2dt = rdt 96 97 98 #if defined key_asminc 99 ! ! Include the IAU weighted SSH increment 100 IF( lk_asminc .AND. ln_sshinc .AND. ln_asmiau ) THEN 101 CALL ssh_asm_inc( kt ) 102 #if defined key_vvl 103 ! Don't directly adjust ssh but change hdivn at all levels instead 104 ! In trasbc also add in the heat and salt content associated with these changes at each level 105 DO jk = 1, jpkm1 106 hdivn(:,:,jk) = hdivn(:,:,jk) - ( ssh_iau(:,:) / ( ht_0(:,:) + 1.0 - ssmask(:,:) ) ) * ( e3t_0(:,:,jk) / fse3t_n(:,:,jk) ) * tmask(:,:,jk) 107 END DO 108 ENDIF 109 #endif 110 #endif 111 96 112 97 113 ! !------------------------------! … … 123 139 #endif 124 140 125 #if defined key_asminc126 ! ! Include the IAU weighted SSH increment127 IF( lk_asminc .AND. ln_sshinc .AND. ln_asmiau ) THEN128 CALL ssh_asm_inc( kt )129 ssha(:,:) = ssha(:,:) + z2dt * ssh_iau(:,:)130 ENDIF131 #endif132 141 133 142 ! !------------------------------!
Note: See TracChangeset
for help on using the changeset viewer.