Changeset 2609 for branches/dev_r2586_dynamic_mem
- Timestamp:
- 2011-02-22T18:14:30+01:00 (13 years ago)
- Location:
- branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/TOP_SRC/LOBSTER
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/TOP_SRC/LOBSTER/trcbio.F90
r2528 r2609 60 60 !! for passive tracers are saved for futher diagnostics. 61 61 !!--------------------------------------------------------------------- 62 USE wrk_nemo, ONLY: wrk_use, wrk_release 63 USE wrk_nemo, ONLY: wrk_3d_2, wrk_4d_1 64 !! 62 65 INTEGER, INTENT( in ) :: kt ! ocean time-step index 63 66 !! … … 75 78 #endif 76 79 #if defined key_diatrc && defined key_iomput 77 REAL(wp), DIMENSION(jpi,jpj,17):: zw2d78 REAL(wp), DIMENSION(jpi,jpj,jpk,3) :: zw3d80 REAL(wp), POINTER, DIMENSION(:,:,:) :: zw2d 81 REAL(wp), POINTER, DIMENSION(:,:,:,:) :: zw3d 79 82 #endif 80 83 REAL(wp), DIMENSION(:,:,:,:), ALLOCATABLE :: ztrbio 81 84 CHARACTER (len=25) :: charout 82 85 !!--------------------------------------------------------------------- 86 87 #if defined key_diatrc && defined key_iomput 88 IF( (.NOT. wrk_use(3, 2)) .OR. (.NOT. wrk_use(4, 1)) )THEN 89 CALL ctl_stop('trc_bio : requested workspace arrays unavailable.') 90 RETURN 91 END IF 92 ! Set-up pointers into sub-arrays of workspaces 93 zw2d => wrk_3d_2(:,:,1:17) 94 zw3d => wrk_4d_1(:,:,:,1:3) 95 #endif 83 96 84 97 IF( kt == nit000 ) THEN … … 485 498 CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm) 486 499 ENDIF 487 500 ! 501 #if defined key_diatrc && defined key_iomput 502 IF( (.NOT. wrk_release(3, 2)) .OR. (.NOT. wrk_release(4, 1)) )THEN 503 CALL ctl_stop('trc_bio : failed to release workspace arrays.') 504 END IF 505 #endif 506 ! 488 507 END SUBROUTINE trc_bio 489 508 -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/TOP_SRC/LOBSTER/trcini_lobster.F90
r2528 r2609 43 43 !! ** purpose : specific initialisation for LOBSTER bio-model 44 44 !!---------------------------------------------------------------------- 45 USE wrk_nemo, ONLY: wrk_use, wrk_release 46 USE wrk_nemo, ONLY: zrro => wrk_2d_1, zdm0 => wrk_3d_1 47 !! 45 48 INTEGER :: ji, jj, jk, jn 46 49 REAL(wp) :: ztest, zfluo, zfluu 47 REAL(wp), DIMENSION(jpi,jpj) :: zrro 48 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zdm0 49 !!---------------------------------------------------------------------- 50 !!---------------------------------------------------------------------- 51 52 IF( (.NOT. wrk_use(2, 1)) .OR. (.NOT. wrk_use(3, 1)) )THEN 53 CALL ctl_stop('trc_ini_lobster : requested workspace arrays unavailable.') 54 RETURN 55 END IF 50 56 51 57 ! Control consitency … … 253 259 IF(lwp) WRITE(numout,*) ' ' 254 260 261 IF( (.NOT. wrk_release(2, 1)) .OR. (.NOT. wrk_release(3, 1)) )THEN 262 CALL ctl_stop('trc_ini_lobster : failed to release workspace arrays.') 263 END IF 255 264 256 265 END SUBROUTINE trc_ini_lobster -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/TOP_SRC/LOBSTER/trcopt.F90
r2528 r2609 52 52 !! xze ??? 53 53 !!--------------------------------------------------------------------- 54 USE wrk_nemo, ONLY: wrk_use, wrk_release 55 USE wrk_nemo, ONLY: zpar100 => wrk_2d_1, & ! irradiance at euphotic layer depth 56 zpar0m => wrk_2d_2 ! irradiance just below the surface 57 USE wrk_nemo, ONLY: zparr => wrk_3d_2, & ! red and green compound of par 58 zparg => wrk_3d_3 59 !! 54 60 INTEGER, INTENT( in ) :: kt ! index of the time stepping 55 61 !! … … 59 65 REAL(wp) :: zkr, zkg ! total absorption coefficient in red and green 60 66 REAL(wp) :: zcoef ! temporary scalar 61 REAL(wp), DIMENSION(jpi,jpj) :: zpar100 ! irradiance at euphotic layer depth62 REAL(wp), DIMENSION(jpi,jpj) :: zpar0m ! irradiance just below the surface63 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zparr, zparg ! red and green compound of par64 67 65 68 !!--------------------------------------------------------------------- 69 70 IF( (.NOT. wrk_use(2, 1,2)) .OR. (.NOT. wrk_use(3, 2,3)) )THEN 71 CALL ctl_stop('trc_opt : requested workspace arrays unavailable.') 72 RETURN 73 END IF 66 74 67 75 IF( kt == nit000 ) THEN … … 130 138 ENDIF 131 139 ! 140 IF( (.NOT. wrk_release(2, 1,2)) .OR. (.NOT. wrk_release(3, 2,3)) )THEN 141 CALL ctl_stop('trc_opt : failed to release workspace arrays.') 142 END IF 143 ! 132 144 END SUBROUTINE trc_opt 133 145 -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/TOP_SRC/LOBSTER/trcsed.F90
r2528 r2609 56 56 !! trend of passive tracers is saved for futher diagnostics. 57 57 !!--------------------------------------------------------------------- 58 USE wrk_nemo, ONLY: wrk_use, wrk_release 59 USE wrk_nemo, ONLY: zwork => wrk_3d_2 60 USE wrk_nemo, ONLY: zw2d => wrk_2d_1 ! only used (if defined 61 ! key_diatrc && defined key_iomput) 62 !! 58 63 INTEGER, INTENT( in ) :: kt ! ocean time-step index 59 64 !! 60 65 INTEGER :: ji, jj, jk, jl 61 66 REAL(wp) :: ztra 62 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zwork63 #if defined key_diatrc && defined key_iomput64 REAL(wp), DIMENSION(jpi,jpj) :: zw2d65 #endif66 67 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: ztrbio 67 68 CHARACTER (len=25) :: charout 68 69 !!--------------------------------------------------------------------- 70 71 IF( (.NOT. wrk_use(3,2)) .OR. (.NOT. wrk_use(2,1)) )THEN 72 CALL ctl_stop('trc_sed : requested workspace arrays unavailable.') 73 RETURN 74 END IF 69 75 70 76 IF( kt == nit000 ) THEN … … 144 150 ENDIF 145 151 152 IF( (.NOT. wrk_release(3,2)) .OR. (.NOT. wrk_release(2,1)) )THEN 153 CALL ctl_stop('trc_sed : failed to release workspace arrays.') 154 END IF 155 146 156 END SUBROUTINE trc_sed 147 157 -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/TOP_SRC/LOBSTER/trcsms_lobster.F90
r2528 r2609 45 45 !! 46 46 !! ** Method : - ??? 47 !! ------------------------------------------------------------------------------------- 47 !! -------------------------------------------------------------------- 48 USE wrk_nemo, ONLY: wrk_use, wrk_release 49 USE wrk_nemo, ONLY: ztrlob => wrk_3d_1 ! used for lobster sms trends 50 !! 48 51 INTEGER, INTENT( in ) :: kt ! ocean time-step index 49 52 INTEGER :: jn 50 REAL(wp), DIMENSION(jpi,jpj,jpk) :: ztrlob ! used for lobster sms trends 51 !! 53 !! -------------------------------------------------------------------- 54 55 IF(.NOT. wrk_use(3,1))THEN 56 CALL ctl_stop('trc_sms_lobster : requested workspace array unavailable.') 57 RETURN 58 END IF 52 59 53 60 CALL trc_opt( kt ) ! optical model … … 64 71 65 72 IF( lk_trdmld_trc ) CALL trd_mld_bio( kt ) ! trends: Mixed-layer 73 74 IF(.NOT. wrk_release(3,1))THEN 75 CALL ctl_stop('trc_sms_lobster : failed to release workspace array.') 76 END IF 66 77 67 78 END SUBROUTINE trc_sms_lobster
Note: See TracChangeset
for help on using the changeset viewer.