Changeset 6487 for branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/TOP_SRC
- Timestamp:
- 2016-04-20T11:33:10+02:00 (8 years ago)
- Location:
- branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/TOP_SRC
- Files:
-
- 21 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zbio.F90
r6486 r6487 599 599 600 600 !!====================================================================== 601 END MODULE 601 END MODULE p2zbio -
branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zsms.F90
r6486 r6487 84 84 85 85 !!====================================================================== 86 END MODULE 86 END MODULE p2zsms -
branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zbio.F90
r6486 r6487 109 109 110 110 !!====================================================================== 111 END MODULE p4zbio 112 111 END MODULE p4zbio -
branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zche.F90
r6486 r6487 396 396 397 397 !!====================================================================== 398 END MODULE 398 END MODULE p4zche -
branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zflx.F90
r6486 r6487 400 400 401 401 !!====================================================================== 402 END MODULE 402 END MODULE p4zflx -
branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zint.F90
r6486 r6487 81 81 82 82 !!====================================================================== 83 END MODULE 83 END MODULE p4zint -
branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zlim.F90
r6486 r6487 265 265 266 266 !!====================================================================== 267 END MODULE 267 END MODULE p4zlim -
branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zlys.F90
r6486 r6487 152 152 IF( iom_use( "DCAL" ) ) CALL iom_put( "DCAL" , zcaldiss(:,:,:) * 1.e+3 * rfact2r * tmask(:,:,:) ) 153 153 ELSE 154 trc3d(:,:,:,jp_pcs0_3d ) = -1. * LOG10( hi(:,:,:) ) * tmask(:,:,:) 155 trc3d(:,:,:,jp_pcs0_3d + 1) = zco3(:,:,:) * tmask(:,:,:) 156 trc3d(:,:,:,jp_pcs0_3d + 2) = aksp(:,:,:) / calcon * tmask(:,:,:) 154 IF( ln_diatrc ) THEN 155 trc3d(:,:,:,jp_pcs0_3d ) = -1. * LOG10( hi(:,:,:) ) * tmask(:,:,:) 156 trc3d(:,:,:,jp_pcs0_3d + 1) = zco3(:,:,:) * tmask(:,:,:) 157 trc3d(:,:,:,jp_pcs0_3d + 2) = aksp(:,:,:) / calcon * tmask(:,:,:) 158 ENDIF 157 159 ENDIF 158 160 ! … … 223 225 #endif 224 226 !!====================================================================== 225 END MODULE 227 END MODULE p4zlys -
branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmeso.F90
r6486 r6487 340 340 341 341 !!====================================================================== 342 END MODULE 342 END MODULE p4zmeso -
branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmicro.F90
r6486 r6487 273 273 274 274 !!====================================================================== 275 END MODULE 275 END MODULE p4zmicro -
branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmort.F90
r6486 r6487 277 277 278 278 !!====================================================================== 279 END MODULE 279 END MODULE p4zmort -
branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zopt.F90
r6486 r6487 439 439 440 440 !!====================================================================== 441 END MODULE 441 END MODULE p4zopt -
branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zprod.F90
r6486 r6487 629 629 630 630 !!====================================================================== 631 END MODULE 631 END MODULE p4zprod -
branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsbc.F90
r6486 r6487 519 519 520 520 !!====================================================================== 521 END MODULE 521 END MODULE p4zsbc -
branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsed.F90
r6486 r6487 436 436 437 437 !!====================================================================== 438 END MODULE 438 END MODULE p4zsed -
branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsink.F90
r6486 r6487 913 913 914 914 !!====================================================================== 915 END MODULE 915 END MODULE p4zsink -
branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/TOP_SRC/PISCES/trcice_pisces.F90
r5385 r6487 29 29 CONTAINS 30 30 31 31 32 SUBROUTINE trc_ice_ini_pisces 32 33 !!---------------------------------------------------------------------- 33 !! *** ROUTINE trc_ice_ini_pisces *** 34 !! *** ROUTINE trc_ini_pisces *** 35 !! 36 !! ** Purpose : Initialisation of the PISCES biochemical model 37 !!---------------------------------------------------------------------- 38 39 IF( lk_p4z ) THEN ; CALL p4z_ice_ini ! PISCES 40 ELSE ; CALL p2z_ice_ini ! LOBSTER 41 ENDIF 42 43 END SUBROUTINE trc_ice_ini_pisces 44 45 46 SUBROUTINE p4z_ice_ini 47 48 #if defined key_pisces 49 !!---------------------------------------------------------------------- 50 !! *** ROUTINE p4z_ice_ini *** 34 51 !! 35 52 !! ** Purpose : PISCES fake sea ice model setting … … 58 75 59 76 !--- Dummy variables 60 REAL(wp), DIMENSION(jptra,2) & 61 :: zratio ! effective ice-ocean tracer cc ratio 77 REAL(wp), DIMENSION(jp_pisces,2) :: zratio ! effective ice-ocean tracer cc ratio 78 REAL(wp), DIMENSION(jp_pisces,4) :: zpisc ! prescribes concentration 79 ! ! 1:global, 2:Arctic, 3:Antarctic, 4:Baltic 80 62 81 REAL(wp), DIMENSION(2) :: zrs ! ice-ocean salinity ratio, 1 - global, 2- Baltic 63 82 REAL(wp) :: zsice_bal ! prescribed ice salinity in the Baltic … … 80 99 ! fluxes 81 100 82 !--- Global case83 IF ( cn_trc_o(jpdic) == 'GL ' ) trc_o(:,:,jpdic) = 1.99e-3_wp84 IF ( cn_trc_o(jpdoc) == 'GL ' ) trc_o(:,:,jpdoc) = 2.04e-5_wp85 IF ( cn_trc_o(jptal) == 'GL ' ) trc_o(:,:,jptal) = 2.31e-3_wp86 IF ( cn_trc_o(jpoxy) == 'GL ' ) trc_o(:,:,jpoxy) = 2.47e-4_wp87 IF ( cn_trc_o(jpcal) == 'GL ' ) trc_o(:,:,jpcal) = 1.04e-8_wp88 IF ( cn_trc_o(jppo4) == 'GL ' ) trc_o(:,:,jppo4) = 5.77e-7_wp / po4r89 IF ( cn_trc_o(jppoc) == 'GL ' ) trc_o(:,:,jppoc) = 1.27e-6_wp101 !--- Global values 102 zpisc(jpdic,1) = 1.99e-3_wp 103 zpisc(jpdoc,1) = 2.04e-5_wp 104 zpisc(jptal,1) = 2.31e-3_wp 105 zpisc(jpoxy,1) = 2.47e-4_wp 106 zpisc(jpcal,1) = 1.04e-8_wp 107 zpisc(jppo4,1) = 5.77e-7_wp / po4r 108 zpisc(jppoc,1) = 1.27e-6_wp 90 109 # if ! defined key_kriest 91 IF ( cn_trc_o(jpgoc) == 'GL ' ) trc_o(:,:,jpgoc) = 5.23e-8_wp92 IF ( cn_trc_o(jpbfe) == 'GL ' ) trc_o(:,:,jpbfe) = 9.84e-13_wp110 zpisc(jpgoc,1) = 5.23e-8_wp 111 zpisc(jpbfe,1) = 9.84e-13_wp 93 112 # else 94 IF ( cn_trc_o(jpnum) == 'GL ' ) trc_o(:,:,jpnum) = 0. ! could not get this value since did not use it113 zpisc(jpnum,1) = 0. ! could not get this value since did not use it 95 114 # endif 96 IF ( cn_trc_o(jpsil) == 'GL ' ) trc_o(:,:,jpsil) = 7.36e-6_wp97 IF ( cn_trc_o(jpdsi) == 'GL ' ) trc_o(:,:,jpdsi) = 1.07e-7_wp98 IF ( cn_trc_o(jpgsi) == 'GL ' ) trc_o(:,:,jpgsi) = 1.53e-8_wp99 IF ( cn_trc_o(jpphy) == 'GL ' ) trc_o(:,:,jpphy) = 9.57e-8_wp100 IF ( cn_trc_o(jpdia) == 'GL ' ) trc_o(:,:,jpdia) = 4.24e-7_wp101 IF ( cn_trc_o(jpzoo) == 'GL ' ) trc_o(:,:,jpzoo) = 6.07e-7_wp102 IF ( cn_trc_o(jpmes) == 'GL ' ) trc_o(:,:,jpmes) = 3.44e-7_wp103 IF ( cn_trc_o(jpfer) == 'GL ' ) trc_o(:,:,jpfer) = 4.06e-10_wp104 IF ( cn_trc_o(jpsfe) == 'GL ' ) trc_o(:,:,jpsfe) = 2.51e-11_wp105 IF ( cn_trc_o(jpdfe) == 'GL ' ) trc_o(:,:,jpdfe) = 6.57e-12_wp106 IF ( cn_trc_o(jpnfe) == 'GL ' ) trc_o(:,:,jpnfe) = 1.76e-11_wp107 IF ( cn_trc_o(jpnch) == 'GL ' ) trc_o(:,:,jpnch) = 1.67e-7_wp108 IF ( cn_trc_o(jpdch) == 'GL ' ) trc_o(:,:,jpdch) = 1.02e-7_wp109 IF ( cn_trc_o(jpno3) == 'GL ' ) trc_o(:,:,jpno3) = 5.79e-6_wp / rno3110 IF ( cn_trc_o(jpnh4) == 'GL ' ) trc_o(:,:,jpnh4) = 3.22e-7_wp / rno3115 zpisc(jpsil,1) = 7.36e-6_wp 116 zpisc(jpdsi,1) = 1.07e-7_wp 117 zpisc(jpgsi,1) = 1.53e-8_wp 118 zpisc(jpphy,1) = 9.57e-8_wp 119 zpisc(jpdia,1) = 4.24e-7_wp 120 zpisc(jpzoo,1) = 6.07e-7_wp 121 zpisc(jpmes,1) = 3.44e-7_wp 122 zpisc(jpfer,1) = 4.06e-10_wp 123 zpisc(jpsfe,1) = 2.51e-11_wp 124 zpisc(jpdfe,1) = 6.57e-12_wp 125 zpisc(jpnfe,1) = 1.76e-11_wp 126 zpisc(jpnch,1) = 1.67e-7_wp 127 zpisc(jpdch,1) = 1.02e-7_wp 128 zpisc(jpno3,1) = 5.79e-6_wp / rno3 129 zpisc(jpnh4,1) = 3.22e-7_wp / rno3 111 130 112 131 !--- Arctic specificities (dissolved inorganic & DOM) 113 IF ( cn_trc_o(jpdic) == 'AA ' ) THEN ; WHERE( gphit(:,:) >= 00._wp ) ; trc_o(:,:,jpdic) = 1.98e-3_wp ; END WHERE ; ENDIF114 IF ( cn_trc_o(jpdoc) == 'AA ' ) THEN ; WHERE( gphit(:,:) >= 00._wp ) ; trc_o(:,:,jpdoc) = 6.00e-6_wp ; END WHERE ; ENDIF115 IF ( cn_trc_o(jptal) == 'AA ' ) THEN ; WHERE( gphit(:,:) >= 00._wp ) ; trc_o(:,:,jptal) = 2.13e-3_wp ; END WHERE ; ENDIF116 IF ( cn_trc_o(jpoxy) == 'AA ' ) THEN ; WHERE( gphit(:,:) >= 00._wp ) ; trc_o(:,:,jpoxy) = 3.65e-4_wp ; END WHERE ; ENDIF117 IF ( cn_trc_o(jpcal) == 'AA ' ) THEN ; WHERE( gphit(:,:) >= 00._wp ) ; trc_o(:,:,jpcal) = 1.50e-9_wp ; END WHERE ; ENDIF118 IF ( cn_trc_o(jppo4) == 'AA ' ) THEN ; WHERE( gphit(:,:) >= 00._wp ) ; trc_o(:,:,jppo4) = 4.09e-7_wp / po4r ; END WHERE ; ENDIF119 IF ( cn_trc_o(jppoc) == 'AA ' ) THEN ; WHERE( gphit(:,:) >= 00._wp ) ; trc_o(:,:,jppoc) = 4.05e-7_wp ; END WHERE ; ENDIF132 zpisc(jpdic,2) = 1.98e-3_wp 133 zpisc(jpdoc,2) = 6.00e-6_wp 134 zpisc(jptal,2) = 2.13e-3_wp 135 zpisc(jpoxy,2) = 3.65e-4_wp 136 zpisc(jpcal,2) = 1.50e-9_wp 137 zpisc(jppo4,2) = 4.09e-7_wp / po4r 138 zpisc(jppoc,2) = 4.05e-7_wp 120 139 # if ! defined key_kriest 121 IF ( cn_trc_o(jpgoc) == 'AA ' ) THEN ; WHERE( gphit(:,:) >= 00._wp ) ; trc_o(:,:,jpgoc) = 2.84e-8_wp ; END WHERE ; ENDIF122 IF ( cn_trc_o(jpbfe) == 'AA ' ) THEN ; WHERE( gphit(:,:) >= 00._wp ) ; trc_o(:,:,jpbfe) = 7.03e-13_wp ; END WHERE ; ENDIF140 zpisc(jpgoc,2) = 2.84e-8_wp 141 zpisc(jpbfe,2) = 7.03e-13_wp 123 142 # else 124 IF ( cn_trc_o(jpnum) == 'AA ' ) THEN ; WHERE( gphit(:,:) >= 00._wp ) ; trc_o(:,:,jpnum) = 0.00e-00_wp ; END WHERE ; ENDIF143 zpisc(jpnum,2) = 0.00e-00_wp 125 144 # endif 126 IF ( cn_trc_o(jpsil) == 'AA ' ) THEN ; WHERE( gphit(:,:) >= 00._wp ) ; trc_o(:,:,jpsil) = 6.87e-6_wp ; END WHERE ; ENDIF127 IF ( cn_trc_o(jpdsi) == 'AA ' ) THEN ; WHERE( gphit(:,:) >= 00._wp ) ; trc_o(:,:,jpdsi) = 1.73e-7_wp ; END WHERE ; ENDIF128 IF ( cn_trc_o(jpgsi) == 'AA ' ) THEN ; WHERE( gphit(:,:) >= 00._wp ) ; trc_o(:,:,jpgsi) = 7.93e-9_wp ; END WHERE ; ENDIF129 IF ( cn_trc_o(jpphy) == 'AA ' ) THEN ; WHERE( gphit(:,:) >= 00._wp ) ; trc_o(:,:,jpphy) = 5.25e-7_wp ; END WHERE ; ENDIF130 IF ( cn_trc_o(jpdia) == 'AA ' ) THEN ; WHERE( gphit(:,:) >= 00._wp ) ; trc_o(:,:,jpdia) = 7.75e-7_wp ; END WHERE ; ENDIF131 IF ( cn_trc_o(jpzoo) == 'AA ' ) THEN ; WHERE( gphit(:,:) >= 00._wp ) ; trc_o(:,:,jpzoo) = 3.34e-7_wp ; END WHERE ; ENDIF132 IF ( cn_trc_o(jpmes) == 'AA ' ) THEN ; WHERE( gphit(:,:) >= 00._wp ) ; trc_o(:,:,jpmes) = 2.49e-7_wp ; END WHERE ; ENDIF133 IF ( cn_trc_o(jpfer) == 'AA ' ) THEN ; WHERE( gphit(:,:) >= 00._wp ) ; trc_o(:,:,jpfer) = 1.43e-9_wp ; END WHERE ; ENDIF134 IF ( cn_trc_o(jpsfe) == 'AA ' ) THEN ; WHERE( gphit(:,:) >= 00._wp ) ; trc_o(:,:,jpsfe) = 2.21e-11_wp ; END WHERE ; ENDIF135 IF ( cn_trc_o(jpdfe) == 'AA ' ) THEN ; WHERE( gphit(:,:) >= 00._wp ) ; trc_o(:,:,jpdfe) = 2.04e-11_wp ; END WHERE ; ENDIF136 IF ( cn_trc_o(jpnfe) == 'AA ' ) THEN ; WHERE( gphit(:,:) >= 00._wp ) ; trc_o(:,:,jpnfe) = 1.75e-11_wp ; END WHERE ; ENDIF137 IF ( cn_trc_o(jpnch) == 'AA ' ) THEN ; WHERE( gphit(:,:) >= 00._wp ) ; trc_o(:,:,jpnch) = 1.46e-07_wp ; END WHERE ; ENDIF138 IF ( cn_trc_o(jpdch) == 'AA ' ) THEN ; WHERE( gphit(:,:) >= 00._wp ) ; trc_o(:,:,jpdch) = 2.36e-07_wp ; END WHERE ; ENDIF139 IF ( cn_trc_o(jpno3) == 'AA ' ) THEN ; WHERE( gphit(:,:) >= 00._wp ) ; trc_o(:,:,jpno3) = 3.51e-06_wp / rno3 ; END WHERE ; ENDIF140 IF ( cn_trc_o(jpnh4) == 'AA ' ) THEN ; WHERE( gphit(:,:) >= 00._wp ) ; trc_o(:,:,jpnh4) = 6.15e-08_wp / rno3 ; END WHERE ; ENDIF145 zpisc(jpsil,2) = 6.87e-6_wp 146 zpisc(jpdsi,2) = 1.73e-7_wp 147 zpisc(jpgsi,2) = 7.93e-9_wp 148 zpisc(jpphy,2) = 5.25e-7_wp 149 zpisc(jpdia,2) = 7.75e-7_wp 150 zpisc(jpzoo,2) = 3.34e-7_wp 151 zpisc(jpmes,2) = 2.49e-7_wp 152 zpisc(jpfer,2) = 1.43e-9_wp 153 zpisc(jpsfe,2) = 2.21e-11_wp 154 zpisc(jpdfe,2) = 2.04e-11_wp 155 zpisc(jpnfe,2) = 1.75e-11_wp 156 zpisc(jpnch,2) = 1.46e-07_wp 157 zpisc(jpdch,2) = 2.36e-07_wp 158 zpisc(jpno3,2) = 3.51e-06_wp / rno3 159 zpisc(jpnh4,2) = 6.15e-08_wp / rno3 141 160 142 161 !--- Antarctic specificities (dissolved inorganic & DOM) 143 IF ( cn_trc_o(jpdic) == 'AA ' ) THEN ; WHERE( gphit(:,:) < 00._wp ) ; trc_o(:,:,jpdic) = 2.20e-3_wp ; END WHERE ; ENDIF144 IF ( cn_trc_o(jpdoc) == 'AA ' ) THEN ; WHERE( gphit(:,:) < 00._wp ) ; trc_o(:,:,jpdoc) = 7.02e-6_wp ; END WHERE ; ENDIF145 IF ( cn_trc_o(jptal) == 'AA ' ) THEN ; WHERE( gphit(:,:) < 00._wp ) ; trc_o(:,:,jptal) = 2.37e-3_wp ; END WHERE ; ENDIF146 IF ( cn_trc_o(jpoxy) == 'AA ' ) THEN ; WHERE( gphit(:,:) < 00._wp ) ; trc_o(:,:,jpoxy) = 3.42e-4_wp ; END WHERE ; ENDIF147 IF ( cn_trc_o(jpcal) == 'AA ' ) THEN ; WHERE( gphit(:,:) < 00._wp ) ; trc_o(:,:,jpcal) = 3.17e-9_wp ; END WHERE ; ENDIF148 IF ( cn_trc_o(jppo4) == 'AA ' ) THEN ; WHERE( gphit(:,:) < 00._wp ) ; trc_o(:,:,jppo4) = 1.88e-6_wp / po4r ; END WHERE ; ENDIF149 IF ( cn_trc_o(jppoc) == 'AA ' ) THEN ; WHERE( gphit(:,:) < 00._wp ) ; trc_o(:,:,jppoc) = 1.13e-6_wp ; END WHERE ; ENDIF162 zpisc(jpdic,3) = 2.20e-3_wp 163 zpisc(jpdoc,3) = 7.02e-6_wp 164 zpisc(jptal,3) = 2.37e-3_wp 165 zpisc(jpoxy,3) = 3.42e-4_wp 166 zpisc(jpcal,3) = 3.17e-9_wp 167 zpisc(jppo4,3) = 1.88e-6_wp / po4r 168 zpisc(jppoc,3) = 1.13e-6_wp 150 169 # if ! defined key_kriest 151 IF ( cn_trc_o(jpgoc) == 'AA ' ) THEN ; WHERE( gphit(:,:) < 00._wp ) ; trc_o(:,:,jpgoc) = 2.89e-8_wp ; END WHERE ; ENDIF152 IF ( cn_trc_o(jpbfe) == 'AA ' ) THEN ; WHERE( gphit(:,:) < 00._wp ) ; trc_o(:,:,jpbfe) = 5.63e-13_wp ; END WHERE ; ENDIF170 zpisc(jpgoc,3) = 2.89e-8_wp 171 zpisc(jpbfe,3) = 5.63e-13_wp 153 172 # else 154 IF ( cn_trc_o(jpnum) == 'AA ' ) THEN ; WHERE( gphit(:,:) < 00._wp ) ; trc_o(:,:,jpnum) = 0.00e-00_wp ; END WHERE ; ENDIF173 zpisc(jpnum,3) = 0.00e-00_wp 155 174 # endif 156 IF ( cn_trc_o(jpsil) == 'AA ' ) THEN ; WHERE( gphit(:,:) < 00._wp ) ; trc_o(:,:,jpsil) = 4.96e-5_wp ; END WHERE ; ENDIF157 IF ( cn_trc_o(jpdsi) == 'AA ' ) THEN ; WHERE( gphit(:,:) < 00._wp ) ; trc_o(:,:,jpdsi) = 5.63e-7_wp ; END WHERE ; ENDIF158 IF ( cn_trc_o(jpgsi) == 'AA ' ) THEN ; WHERE( gphit(:,:) < 00._wp ) ; trc_o(:,:,jpgsi) = 5.35e-8_wp ; END WHERE ; ENDIF159 IF ( cn_trc_o(jpphy) == 'AA ' ) THEN ; WHERE( gphit(:,:) < 00._wp ) ; trc_o(:,:,jpphy) = 8.10e-7_wp ; END WHERE ; ENDIF160 IF ( cn_trc_o(jpdia) == 'AA ' ) THEN ; WHERE( gphit(:,:) < 00._wp ) ; trc_o(:,:,jpdia) = 5.77e-7_wp ; END WHERE ; ENDIF161 IF ( cn_trc_o(jpzoo) == 'AA ' ) THEN ; WHERE( gphit(:,:) < 00._wp ) ; trc_o(:,:,jpzoo) = 6.68e-7_wp ; END WHERE ; ENDIF162 IF ( cn_trc_o(jpmes) == 'AA ' ) THEN ; WHERE( gphit(:,:) < 00._wp ) ; trc_o(:,:,jpmes) = 3.55e-7_wp ; END WHERE ; ENDIF163 IF ( cn_trc_o(jpfer) == 'AA ' ) THEN ; WHERE( gphit(:,:) < 00._wp ) ; trc_o(:,:,jpfer) = 1.62e-10_wp ; END WHERE ; ENDIF164 IF ( cn_trc_o(jpsfe) == 'AA ' ) THEN ; WHERE( gphit(:,:) < 00._wp ) ; trc_o(:,:,jpsfe) = 2.29e-11_wp ; END WHERE ; ENDIF165 IF ( cn_trc_o(jpdfe) == 'AA ' ) THEN ; WHERE( gphit(:,:) < 00._wp ) ; trc_o(:,:,jpdfe) = 8.75e-12_wp ; END WHERE ; ENDIF166 IF ( cn_trc_o(jpnfe) == 'AA ' ) THEN ; WHERE( gphit(:,:) < 00._wp ) ; trc_o(:,:,jpnfe) = 1.48e-11_wp ; END WHERE ; ENDIF167 IF ( cn_trc_o(jpnch) == 'AA ' ) THEN ; WHERE( gphit(:,:) < 00._wp ) ; trc_o(:,:,jpnch) = 2.02e-7_wp ; END WHERE ; ENDIF168 IF ( cn_trc_o(jpdch) == 'AA ' ) THEN ; WHERE( gphit(:,:) < 00._wp ) ; trc_o(:,:,jpdch) = 1.60e-7_wp ; END WHERE ; ENDIF169 IF ( cn_trc_o(jpno3) == 'AA ' ) THEN ; WHERE( gphit(:,:) < 00._wp ) ; trc_o(:,:,jpno3) = 2.64e-5_wp / rno3 ; END WHERE ; ENDIF170 IF ( cn_trc_o(jpnh4) == 'AA ' ) THEN ; WHERE( gphit(:,:) < 00._wp ) ; trc_o(:,:,jpnh4) = 3.39e-7_wp / rno3 ; END WHERE ; ENDIF175 zpisc(jpsil,3) = 4.96e-5_wp 176 zpisc(jpdsi,3) = 5.63e-7_wp 177 zpisc(jpgsi,3) = 5.35e-8_wp 178 zpisc(jpphy,3) = 8.10e-7_wp 179 zpisc(jpdia,3) = 5.77e-7_wp 180 zpisc(jpzoo,3) = 6.68e-7_wp 181 zpisc(jpmes,3) = 3.55e-7_wp 182 zpisc(jpfer,3) = 1.62e-10_wp 183 zpisc(jpsfe,3) = 2.29e-11_wp 184 zpisc(jpdfe,3) = 8.75e-12_wp 185 zpisc(jpnfe,3) = 1.48e-11_wp 186 zpisc(jpnch,3) = 2.02e-7_wp 187 zpisc(jpdch,3) = 1.60e-7_wp 188 zpisc(jpno3,3) = 2.64e-5_wp / rno3 189 zpisc(jpnh4,3) = 3.39e-7_wp / rno3 171 190 172 191 !--- Baltic Sea particular case for ORCA configurations 173 IF( cp_cfg == "orca" ) THEN ! Baltic mask 174 WHERE( 14._wp <= glamt(:,:) .AND. glamt(:,:) <= 32._wp .AND. & 175 54._wp <= gphit(:,:) .AND. gphit(:,:) <= 66._wp ) 176 trc_o(:,:,jpdic) = 1.14e-3_wp 177 trc_o(:,:,jpdoc) = 1.06e-5_wp 178 trc_o(:,:,jptal) = 1.16e-3_wp 179 trc_o(:,:,jpoxy) = 3.71e-4_wp 180 trc_o(:,:,jpcal) = 1.51e-9_wp 181 trc_o(:,:,jppo4) = 2.85e-9_wp / po4r 182 trc_o(:,:,jppoc) = 4.84e-7_wp 192 zpisc(jpdic,4) = 1.14e-3_wp 193 zpisc(jpdoc,4) = 1.06e-5_wp 194 zpisc(jptal,4) = 1.16e-3_wp 195 zpisc(jpoxy,4) = 3.71e-4_wp 196 zpisc(jpcal,4) = 1.51e-9_wp 197 zpisc(jppo4,4) = 2.85e-9_wp / po4r 198 zpisc(jppoc,4) = 4.84e-7_wp 183 199 # if ! defined key_kriest 184 trc_o(:,:,jpgoc) = 1.05e-8_wp185 trc_o(:,:,jpbfe) = 4.97e-13_wp200 zpisc(jpgoc,4) = 1.05e-8_wp 201 zpisc(jpbfe,4) = 4.97e-13_wp 186 202 # else 187 trc_o(:,:,jpnum) = 0. ! could not get this value203 zpisc(jpnum,4) = 0. ! could not get this value 188 204 # endif 189 trc_o(:,:,jpsil) = 4.91e-5_wp 190 trc_o(:,:,jpdsi) = 3.25e-7_wp 191 trc_o(:,:,jpgsi) = 1.93e-8_wp 192 trc_o(:,:,jpphy) = 6.64e-7_wp 193 trc_o(:,:,jpdia) = 3.41e-7_wp 194 trc_o(:,:,jpzoo) = 3.83e-7_wp 195 trc_o(:,:,jpmes) = 0.225e-6_wp 196 trc_o(:,:,jpfer) = 2.45e-9_wp 197 trc_o(:,:,jpsfe) = 3.89e-11_wp 198 trc_o(:,:,jpdfe) = 1.33e-11_wp 199 trc_o(:,:,jpnfe) = 2.62e-11_wp 200 trc_o(:,:,jpnch) = 1.17e-7_wp 201 trc_o(:,:,jpdch) = 9.69e-8_wp 202 trc_o(:,:,jpno3) = 5.36e-5_wp / rno3 203 trc_o(:,:,jpnh4) = 7.18e-7_wp / rno3 204 END WHERE 205 ENDIF ! cfg 205 zpisc(jpsil,4) = 4.91e-5_wp 206 zpisc(jpdsi,4) = 3.25e-7_wp 207 zpisc(jpgsi,4) = 1.93e-8_wp 208 zpisc(jpphy,4) = 6.64e-7_wp 209 zpisc(jpdia,4) = 3.41e-7_wp 210 zpisc(jpzoo,4) = 3.83e-7_wp 211 zpisc(jpmes,4) = 0.225e-6_wp 212 zpisc(jpfer,4) = 2.45e-9_wp 213 zpisc(jpsfe,4) = 3.89e-11_wp 214 zpisc(jpdfe,4) = 1.33e-11_wp 215 zpisc(jpnfe,4) = 2.62e-11_wp 216 zpisc(jpnch,4) = 1.17e-7_wp 217 zpisc(jpdch,4) = 9.69e-8_wp 218 zpisc(jpno3,4) = 5.36e-5_wp / rno3 219 zpisc(jpnh4,4) = 7.18e-7_wp / rno3 220 221 DO jn = jp_pcs0, jp_pcs1 222 IF( cn_trc_o(jn) == 'GL ' ) trc_o(:,:,jn) = zpisc(jn,1) ! Global case 223 IF( cn_trc_o(jn) == 'AA ' ) THEN 224 WHERE( gphit(:,:) >= 0._wp ) ; trc_o(:,:,jn) = zpisc(jn,2) ; END WHERE ! Arctic 225 WHERE( gphit(:,:) < 0._wp ) ; trc_o(:,:,jn) = zpisc(jn,3) ; END WHERE ! Antarctic 226 ENDIF 227 IF( cp_cfg == "orca" ) THEN ! Baltic Sea particular case for ORCA configurations 228 WHERE( 14._wp <= glamt(:,:) .AND. glamt(:,:) <= 32._wp .AND. & 229 54._wp <= gphit(:,:) .AND. gphit(:,:) <= 66._wp ) 230 trc_o(:,:,jn) = zpisc(jn,4) 231 END WHERE 232 ENDIF 233 ENDDO 234 235 206 236 207 237 !----------------------------- … … 217 247 218 248 DO jn = jp_pcs0, jp_pcs1 219 IF 220 IF 221 IF 249 IF( trc_ice_ratio(jn) >= 0._wp ) zratio(jn,:) = trc_ice_ratio(jn) 250 IF( trc_ice_ratio(jn) == -1._wp ) zratio(jn,:) = zrs(:) 251 IF( trc_ice_ratio(jn) == -2._wp ) zratio(jn,:) = -9999.99_wp 222 252 END DO 223 253 … … 227 257 DO jn = jp_pcs0, jp_pcs1 228 258 !-- Everywhere but in the Baltic 229 IF ( trc_ice_ratio(jn) >= -1._wp ) THEN !! no prescribed concentration 230 !! (typically everything but iron) 259 IF ( trc_ice_ratio(jn) >= -1._wp ) THEN ! no prescribed conc. ; typically everything but iron) 231 260 trc_i(:,:,jn) = zratio(jn,1) * trc_o(:,:,jn) 232 ELSE !! prescribed concentration261 ELSE ! prescribed concentration 233 262 trc_i(:,:,jn) = trc_ice_prescr(jn) 234 263 ENDIF 235 264 236 265 !-- Baltic 237 IF( cp_cfg == "orca" ) THEN !! Baltic treated seperately for ORCA configs 238 IF ( trc_ice_ratio(jn) >= - 1._wp ) THEN !! no prescribed concentration 239 !! (typically everything but iron) 266 IF( cp_cfg == "orca" ) THEN ! Baltic treated seperately for ORCA configs 267 IF ( trc_ice_ratio(jn) >= - 1._wp ) THEN ! no prescribed conc. ; typically everything but iron) 240 268 WHERE( 14._wp <= glamt(:,:) .AND. glamt(:,:) <= 32._wp .AND. & 241 269 54._wp <= gphit(:,:) .AND. gphit(:,:) <= 66._wp ) 242 270 trc_i(:,:,jn) = zratio(jn,2) * trc_o(:,:,jn) 243 271 END WHERE 244 ELSE ! !prescribed tracer concentration in ice272 ELSE ! prescribed tracer concentration in ice 245 273 WHERE( 14._wp <= glamt(:,:) .AND. glamt(:,:) <= 32._wp .AND. & 246 274 54._wp <= gphit(:,:) .AND. gphit(:,:) <= 66._wp ) … … 251 279 ! 252 280 END DO ! jn 253 254 END SUBROUTINE trc_ice_ini_pisces 281 #endif 282 283 END SUBROUTINE p4z_ice_ini 284 285 SUBROUTINE p2z_ice_ini 286 #if defined key_pisces_reduced 287 !!---------------------------------------------------------------------- 288 !! *** ROUTINE p2z_ice_ini *** 289 !! 290 !! ** Purpose : Initialisation of the LOBSTER biochemical model 291 !!---------------------------------------------------------------------- 292 #endif 293 END SUBROUTINE p2z_ice_ini 294 255 295 256 296 #else -
branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/TOP_SRC/TRP/trcnxt.F90
r6486 r6487 102 102 ENDIF 103 103 104 #if defined key_agrif 105 CALL Agrif_trc ! AGRIF zoom boundaries 106 #endif 104 107 ! Update after tracer on domain lateral boundaries 105 108 DO jn = 1, jptra … … 110 113 #if defined key_bdy 111 114 !! CALL bdy_trc( kt ) ! BDY open boundaries 112 #endif113 #if defined key_agrif114 CALL Agrif_trc ! AGRIF zoom boundaries115 115 #endif 116 116 -
branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/TOP_SRC/trcnam.F90
r6486 r6487 397 397 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 398 398 !!====================================================================== 399 END MODULE 399 END MODULE trcnam -
branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/TOP_SRC/trcsms.F90
r6486 r6487 75 75 76 76 !!====================================================================== 77 END MODULE 77 END MODULE trcsms -
branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/TOP_SRC/trcstp.F90
r6486 r6487 32 32 REAL(wp), DIMENSION(:,:,:), SAVE, ALLOCATABLE :: qsr_arr ! save qsr during TOP time-step 33 33 REAL(wp) :: rdt_sampl 34 INTEGER :: nb_rec_per_day s34 INTEGER :: nb_rec_per_day 35 35 INTEGER :: isecfst, iseclast 36 36 LOGICAL :: llnew … … 123 123 !! of diurnal cycle 124 124 !! 125 !! ** Method : store in TOP the qsr every hour ( or every time-step the latter125 !! ** Method : store in TOP the qsr every hour ( or every time-step if the latter 126 126 !! is greater than 1 hour ) and then, compute the mean with 127 127 !! a moving average over 24 hours. … … 134 134 IF( ln_cpl ) THEN 135 135 rdt_sampl = 86400. / ncpl_qsr_freq 136 nb_rec_per_day s= ncpl_qsr_freq136 nb_rec_per_day = ncpl_qsr_freq 137 137 ELSE 138 138 rdt_sampl = MAX( 3600., rdt * nn_dttrc ) 139 nb_rec_per_day s= INT( 86400 / rdt_sampl )139 nb_rec_per_day = INT( 86400 / rdt_sampl ) 140 140 ENDIF 141 141 ! 142 142 IF( lwp ) THEN 143 143 WRITE(numout,*) 144 WRITE(numout,*) ' Sampling frequency dt = ', rdt_sampl, 's',' Number of sampling per day nrec = ', nb_rec_per_day s144 WRITE(numout,*) ' Sampling frequency dt = ', rdt_sampl, 's',' Number of sampling per day nrec = ', nb_rec_per_day 145 145 WRITE(numout,*) 146 146 ENDIF 147 147 ! 148 ALLOCATE( qsr_arr(jpi,jpj,nb_rec_per_days ) ) 149 DO jn = 1, nb_rec_per_days 150 qsr_arr(:,:,jn) = qsr(:,:) 148 ! !* Restart: read in restart file 149 IF( ln_rsttr .AND. iom_varid( numrtr, 'qsr_mean', ldstop = .FALSE. ) > 0 ) THEN 150 IF(lwp) WRITE(numout,*) 'trc_qsr_mean: qsr_mean read in the restart file' 151 CALL iom_get( numrtr, jpdom_autoglo, 'qsr_mean', qsr_mean ) ! A mean of qsr 152 ELSE !* no restart: set from nit000 values 153 IF(lwp) WRITE(numout,*) 'trc_qsr_mean: qsr_mean set to nit000 values' 154 qsr_mean(:,:) = qsr(:,:) 155 ENDIF 156 ! 157 ALLOCATE( qsr_arr(jpi,jpj,nb_rec_per_day ) ) 158 DO jn = 1, nb_rec_per_day 159 qsr_arr(:,:,jn) = qsr_mean(:,:) 151 160 ENDDO 152 qsr_mean(:,:) = qsr(:,:)153 161 ! 154 162 isecfst = nsec_year + nsec1jan000 ! number of seconds between Jan. 1st 00h of nit000 year and the middle of time step … … 163 171 & ' time = ', (iseclast+rdt*nn_dttrc/2.)/3600.,'hours ' 164 172 isecfst = iseclast 165 DO jn = 1, nb_rec_per_day s- 1173 DO jn = 1, nb_rec_per_day - 1 166 174 qsr_arr(:,:,jn) = qsr_arr(:,:,jn+1) 167 175 ENDDO 168 qsr_arr (:,:,nb_rec_per_days) = qsr(:,:) 169 qsr_mean(:,: ) = SUM( qsr_arr(:,:,:), 3 ) / nb_rec_per_days 170 ENDIF 171 ! 176 qsr_arr (:,:,nb_rec_per_day) = qsr(:,:) 177 qsr_mean(:,: ) = SUM( qsr_arr(:,:,:), 3 ) / nb_rec_per_day 178 ENDIF 179 ! 180 IF( lrst_trc ) THEN !* Write the mean of qsr in restart file 181 IF(lwp) WRITE(numout,*) 182 IF(lwp) WRITE(numout,*) 'trc_mean_qsr : write qsr_mean in restart file kt =', kt 183 IF(lwp) WRITE(numout,*) '~~~~~~~' 184 CALL iom_rstput( kt, nitrst, numrtw, 'qsr_mean', qsr_mean(:,:) ) 185 ENDIF 186 ! 172 187 END SUBROUTINE trc_mean_qsr 173 188
Note: See TracChangeset
for help on using the changeset viewer.