- Timestamp:
- 2017-12-13T15:58:53+01:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/TRA/tranpc.F90
r6140 r9019 26 26 USE in_out_manager ! I/O manager 27 27 USE lib_mpp ! MPP library 28 USE wrk_nemo ! Memory Allocation29 28 USE timing ! Timing 30 29 … … 67 66 REAL(wp) :: zta, zalfa, zsum_temp, zsum_alfa, zaw, zdz, zsum_z 68 67 REAL(wp) :: zsa, zbeta, zsum_sali, zsum_beta, zbw, zrw, z1_r2dt 69 REAL(wp), PARAMETER :: zn2_zero = 1.e-14_wp ! acceptance criteria for neutrality (N2==0) 70 REAL(wp), POINTER, DIMENSION(:) :: zvn2 ! vertical profile of N2 at 1 given point... 71 REAL(wp), POINTER, DIMENSION(:,:) :: zvts ! vertical profile of T and S at 1 given point... 72 REAL(wp), POINTER, DIMENSION(:,:) :: zvab ! vertical profile of alpha and beta 73 REAL(wp), POINTER, DIMENSION(:,:,:) :: zn2 ! N^2 74 REAL(wp), POINTER, DIMENSION(:,:,:,:) :: zab ! alpha and beta 75 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrdt, ztrds ! 3D workspace 68 REAL(wp), PARAMETER :: zn2_zero = 1.e-14_wp ! acceptance criteria for neutrality (N2==0) 69 REAL(wp), DIMENSION( jpk ) :: zvn2 ! vertical profile of N2 at 1 given point... 70 REAL(wp), DIMENSION( jpk,jpts) :: zvts, zvab ! vertical profile of T & S , and alpha & betaat 1 given point 71 REAL(wp), DIMENSION(jpi,jpj,jpk ) :: zn2 ! N^2 72 REAL(wp), DIMENSION(jpi,jpj,jpk,jpts) :: zab ! alpha and beta 73 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: ztrdt, ztrds ! 3D workspace 76 74 ! 77 75 LOGICAL, PARAMETER :: l_LB_debug = .FALSE. ! set to true if you want to follow what is … … 80 78 !!---------------------------------------------------------------------- 81 79 ! 82 IF( nn_timing == 1 )CALL timing_start('tra_npc')80 IF( ln_timing ) CALL timing_start('tra_npc') 83 81 ! 84 82 IF( MOD( kt, nn_npc ) == 0 ) THEN 85 83 ! 86 CALL wrk_alloc( jpi, jpj, jpk, zn2 ) ! N287 CALL wrk_alloc( jpi, jpj, jpk, 2, zab ) ! Alpha and Beta88 CALL wrk_alloc( jpk, 2, zvts, zvab ) ! 1D column vector at point ji,jj89 CALL wrk_alloc( jpk, zvn2 ) ! 1D column vector at point ji,jj90 91 84 IF( l_trdtra ) THEN !* Save initial after fields 92 CALL wrk_alloc( jpi, jpj, jpk, ztrdt, ztrds)85 ALLOCATE( ztrdt(jpi,jpj,jpk) , ztrds(jpi,jpj,jpk) ) 93 86 ztrdt(:,:,:) = tsa(:,:,:,jp_tem) 94 87 ztrds(:,:,:) = tsa(:,:,:,jp_sal) 95 88 ENDIF 96 89 ! 97 90 IF( l_LB_debug ) THEN 98 91 ! Location of 1 known convection site to follow what's happening in the water column … … 101 94 klc1 = mbkt(ilc1,jlc1) ! bottom of the ocean for debug point... 102 95 ENDIF 103 96 ! 104 97 CALL eos_rab( tsa, zab ) ! after alpha and beta (given on T-points) 105 98 CALL bn2 ( tsa, zab, zn2 ) ! after Brunt-Vaisala (given on W-points) 106 99 ! 107 100 inpcc = 0 108 101 ! 109 102 DO jj = 2, jpjm1 ! interior column only 110 103 DO ji = fs_2, fs_jpim1 … … 313 306 CALL trd_tra( kt, 'TRA', jp_tem, jptra_npc, ztrdt ) 314 307 CALL trd_tra( kt, 'TRA', jp_sal, jptra_npc, ztrds ) 315 CALL wrk_dealloc( jpi, jpj, jpk,ztrdt, ztrds )308 DEALLOCATE( ztrdt, ztrds ) 316 309 ENDIF 317 310 ! … … 323 316 ENDIF 324 317 ! 325 CALL wrk_dealloc(jpi, jpj, jpk, zn2 )326 CALL wrk_dealloc(jpi, jpj, jpk, 2, zab )327 CALL wrk_dealloc(jpk, zvn2 )328 CALL wrk_dealloc(jpk, 2, zvts, zvab )329 !330 318 ENDIF ! IF( MOD( kt, nn_npc ) == 0 ) THEN 331 319 ! 332 IF( nn_timing == 1 )CALL timing_stop('tra_npc')320 IF( ln_timing ) CALL timing_stop('tra_npc') 333 321 ! 334 322 END SUBROUTINE tra_npc
Note: See TracChangeset
for help on using the changeset viewer.