- Timestamp:
- 05/30/22 11:44:29 (2 years ago)
- Location:
- CONFIG/UNIFORM/v6/IPSLCM6.5.1/SOURCES/NEMO
- Files:
-
- 2 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
CONFIG/UNIFORM/v6/IPSLCM6.5.1/SOURCES/NEMO/context_nemo.xml
r6119 r6152 11 11 <variable id="ref_month" type="int"> 01 </variable> 12 12 <variable id="ref_day" type="int"> 01 </variable> 13 <variable id="r au0" type="float" > 1026.0 </variable>13 <variable id="rho0" type="float" > 1026.0 </variable> 14 14 <variable id="cpocean" type="float" > 3991.86795711963 </variable> 15 15 <variable id="convSpsu" type="float" > 0.99530670233846 </variable> -
CONFIG/UNIFORM/v6/IPSLCM6.5.1/SOURCES/NEMO/cpl_oasis3.F90
r6119 r6152 14 14 !! 3.6 ! 2014-11 (S. Masson) OASIS3-MCT 15 15 !!---------------------------------------------------------------------- 16 16 17 17 !!---------------------------------------------------------------------- 18 18 !! 'key_oasis3' coupled Ocean/Atmosphere via OASIS3-MCT … … 64 64 #endif 65 65 66 INTEGER :: nrcv ! total number of fields received 67 INTEGER :: nsnd ! total number of fields sent 66 INTEGER :: nrcv ! total number of fields received 67 INTEGER :: nsnd ! total number of fields sent 68 68 INTEGER :: ncplmodel ! Maximum number of models to/from which NEMO is potentialy sending/receiving data 69 INTEGER, PUBLIC, PARAMETER :: nmaxfld=6 0! Maximum number of coupling fields69 INTEGER, PUBLIC, PARAMETER :: nmaxfld=62 ! Maximum number of coupling fields 70 70 INTEGER, PUBLIC, PARAMETER :: nmaxcat=5 ! Maximum number of coupling fields 71 71 INTEGER, PUBLIC, PARAMETER :: nmaxcpl=5 ! Maximum number of coupling fields 72 LOGICAL, PARAMETER :: ltmp_wapatch = .TRUE. ! patch to restore wraparound rows in cpl_send, cpl_rcv, cpl_define 73 INTEGER :: nldi_save, nlei_save 74 INTEGER :: nldj_save, nlej_save 75 72 76 73 TYPE, PUBLIC :: FLD_CPL !: Type for coupling field information 77 74 LOGICAL :: laction ! To be coupled or not 78 CHARACTER(len = 8) :: clname ! Name of the coupling field 79 CHARACTER(len = 1) :: clgrid ! Grid type 75 CHARACTER(len = 8) :: clname ! Name of the coupling field 76 CHARACTER(len = 1) :: clgrid ! Grid type 80 77 REAL(wp) :: nsgn ! Control of the sign change 81 78 INTEGER, DIMENSION(nmaxcat,nmaxcpl) :: nid ! Id of the field (no more than 9 categories and 9 extrena models) … … 90 87 !!---------------------------------------------------------------------- 91 88 !! NEMO/OCE 4.0 , NEMO Consortium (2018) 92 !! $Id: cpl_oasis3.F90 1 2132 2019-12-10 10:38:28Z smasson $89 !! $Id: cpl_oasis3.F90 14434 2021-02-11 08:20:52Z smasson $ 93 90 !! Software governed by the CeCILL license (see ./LICENSE) 94 91 !!---------------------------------------------------------------------- … … 102 99 !! exchange between AGCM, OGCM and COUPLER. (OASIS3 software) 103 100 !! 104 !! ** Method : OASIS3 MPI communication 101 !! ** Method : OASIS3 MPI communication 105 102 !!-------------------------------------------------------------------- 106 103 CHARACTER(len = *), INTENT(in ) :: cd_modname ! model name as set in namcouple file … … 115 112 !------------------------------------------------------------------ 116 113 CALL oasis_init_comp ( ncomp_id, TRIM(cd_modname), nerror ) 117 IF 114 IF( nerror /= OASIS_Ok ) & 118 115 CALL oasis_abort (ncomp_id, 'cpl_init', 'Failure in oasis_init_comp') 119 116 120 117 !------------------------------------------------------------------ 121 ! 3rd Get an MPI communicator for O PAlocal communication118 ! 3rd Get an MPI communicator for OCE local communication 122 119 !------------------------------------------------------------------ 123 120 124 121 CALL oasis_get_localcomm ( kl_comm, nerror ) 125 IF 122 IF( nerror /= OASIS_Ok ) & 126 123 CALL oasis_abort (ncomp_id, 'cpl_init','Failure in oasis_get_localcomm' ) 127 124 ! … … 136 133 !! exchange between AGCM, OGCM and COUPLER. (OASIS3 software) 137 134 !! 138 !! ** Method : OASIS3 MPI communication 135 !! ** Method : OASIS3 MPI communication 139 136 !!-------------------------------------------------------------------- 140 137 INTEGER, INTENT(in) :: krcv, ksnd ! Number of received and sent coupling fields … … 149 146 !!-------------------------------------------------------------------- 150 147 151 ! patch to restore wraparound rows in cpl_send, cpl_rcv, cpl_define152 IF ( ltmp_wapatch ) THEN153 nldi_save = nldi ; nlei_save = nlei154 nldj_save = nldj ; nlej_save = nlej155 IF( nimpp == 1 ) nldi = 1156 IF( nimpp + jpi - 1 == jpiglo ) nlei = jpi157 IF( njmpp == 1 ) nldj = 1158 IF( njmpp + jpj - 1 == jpjglo ) nlej = jpj159 ENDIF160 148 IF(lwp) WRITE(numout,*) 161 149 IF(lwp) WRITE(numout,*) 'cpl_define : initialization in coupled ocean/atmosphere case' … … 178 166 ENDIF 179 167 ! 180 ! ... Define the shape for the area that excludes the halo 181 ! For serial configuration (key_mpp_mpi not being active) 182 ! nl* is set to the global values 1 and jp*glo. 168 ! ... Define the shape for the area that excludes the halo as we don't want them to be "seen" by oasis 183 169 ! 184 170 ishape(1) = 1 185 ishape(2) = nlei-nldi+1171 ishape(2) = Ni_0 186 172 ishape(3) = 1 187 ishape(4) = nlej-nldj+1173 ishape(4) = Nj_0 188 174 ! 189 175 ! ... Allocate memory for data exchange 190 176 ! 191 ALLOCATE(exfld( nlei-nldi+1, nlej-nldj+1), stat = nerror)177 ALLOCATE(exfld(Ni_0, Nj_0), stat = nerror) ! allocate only inner domain (without halos) 192 178 IF( nerror > 0 ) THEN 193 179 CALL oasis_abort ( ncomp_id, 'cpl_define', 'Failure in allocating exfld') ; RETURN … … 195 181 ! 196 182 ! ----------------------------------------------------------------- 197 ! ... Define the partition 183 ! ... Define the partition, excluding halos as we don't want them to be "seen" by oasis 198 184 ! ----------------------------------------------------------------- 199 200 paral(1) = 2 201 paral(2) = jpiglo * (nldj-1+njmpp-1) + (nldi-1+nimpp-1) ! NEMO lower left corner global offset202 paral(3) = nlei-nldi+1 ! local extent in i203 paral(4) = nlej-nldj+1 ! local extent in j204 paral(5) = jpiglo ! global extent in x205 206 IF( ln_ctl) THEN185 186 paral(1) = 2 ! box partitioning 187 paral(2) = Ni0glo * mjg0(nn_hls) + mig0(nn_hls) ! NEMO lower left corner global offset, without halos 188 paral(3) = Ni_0 ! local extent in i, excluding halos 189 paral(4) = Nj_0 ! local extent in j, excluding halos 190 paral(5) = Ni0glo ! global extent in x, excluding halos 191 192 IF( sn_cfctl%l_oasout ) THEN 207 193 WRITE(numout,*) ' multiexchg: paral (1:5)', paral 208 WRITE(numout,*) ' multiexchg: jpi, jpj =', jpi, jpj209 WRITE(numout,*) ' multiexchg: nldi, nlei, nimpp =', nldi, nlei, nimpp210 WRITE(numout,*) ' multiexchg: nldj, nlej, njmpp =', nldj, nlej, njmpp211 ENDIF 212 213 CALL oasis_def_partition ( id_part, paral, nerror, jpiglo*jpjglo )214 ! 215 ! ... Announce send variables. 194 WRITE(numout,*) ' multiexchg: Ni_0, Nj_0 =', Ni_0, Nj_0 195 WRITE(numout,*) ' multiexchg: Nis0, Nie0, nimpp =', Nis0, Nie0, nimpp 196 WRITE(numout,*) ' multiexchg: Njs0, Nje0, njmpp =', Njs0, Nje0, njmpp 197 ENDIF 198 199 CALL oasis_def_partition ( id_part, paral, nerror, Ni0glo*Nj0glo ) ! global number of points, excluding halos 200 ! 201 ! ... Announce send variables. 216 202 ! 217 203 ssnd(:)%ncplmodel = kcplmodel 218 204 ! 219 205 DO ji = 1, ksnd 220 IF 206 IF( ssnd(ji)%laction ) THEN 221 207 222 208 IF( ssnd(ji)%nct > nmaxcat ) THEN … … 225 211 RETURN 226 212 ENDIF 227 213 228 214 DO jc = 1, ssnd(ji)%nct 229 215 DO jm = 1, kcplmodel 230 216 231 IF 217 IF( ssnd(ji)%nct .GT. 1 ) THEN 232 218 WRITE(cli2,'(i2.2)') jc 233 219 zclname = TRIM(ssnd(ji)%clname)//'_cat'//cli2 … … 235 221 zclname = ssnd(ji)%clname 236 222 ENDIF 237 IF 223 IF( kcplmodel > 1 ) THEN 238 224 WRITE(cli2,'(i2.2)') jm 239 225 zclname = 'model'//cli2//'_'//TRIM(zclname) 240 226 ENDIF 241 227 #if defined key_agrif 242 IF( agrif_fixed() /= 0 ) THEN 228 IF( agrif_fixed() /= 0 ) THEN 243 229 zclname=TRIM(Agrif_CFixed())//'_'//TRIM(zclname) 244 END 245 #endif 246 IF( ln_ctl) WRITE(numout,*) "Define", ji, jc, jm, " "//TRIM(zclname), " for ", OASIS_Out230 ENDIF 231 #endif 232 IF( sn_cfctl%l_oasout ) WRITE(numout,*) "Define", ji, jc, jm, " "//TRIM(zclname), " for ", OASIS_Out 247 233 CALL oasis_def_var (ssnd(ji)%nid(jc,jm), zclname, id_part , (/ 2, 1 /), & 248 234 & OASIS_Out , ishape , OASIS_REAL, nerror ) 249 IF 235 IF( nerror /= OASIS_Ok ) THEN 250 236 WRITE(numout,*) 'Failed to define transient ', ji, jc, jm, " "//TRIM(zclname) 251 237 CALL oasis_abort ( ssnd(ji)%nid(jc,jm), 'cpl_define', 'Failure in oasis_def_var' ) 252 238 ENDIF 253 IF( ln_ctl.AND. ssnd(ji)%nid(jc,jm) /= -1 ) WRITE(numout,*) "variable defined in the namcouple"254 IF( ln_ctl.AND. ssnd(ji)%nid(jc,jm) == -1 ) WRITE(numout,*) "variable NOT defined in the namcouple"239 IF( sn_cfctl%l_oasout .AND. ssnd(ji)%nid(jc,jm) /= -1 ) WRITE(numout,*) "variable defined in the namcouple" 240 IF( sn_cfctl%l_oasout .AND. ssnd(ji)%nid(jc,jm) == -1 ) WRITE(numout,*) "variable NOT defined in the namcouple" 255 241 END DO 256 242 END DO … … 258 244 END DO 259 245 ! 260 ! ... Announce received variables. 246 ! ... Announce received variables. 261 247 ! 262 248 srcv(:)%ncplmodel = kcplmodel 263 249 ! 264 250 DO ji = 1, krcv 265 IF ( srcv(ji)%laction ) THEN266 251 IF( srcv(ji)%laction ) THEN 252 267 253 IF( srcv(ji)%nct > nmaxcat ) THEN 268 254 CALL oasis_abort ( ncomp_id, 'cpl_define', 'Number of categories of '// & … … 270 256 RETURN 271 257 ENDIF 272 258 273 259 DO jc = 1, srcv(ji)%nct 274 260 DO jm = 1, kcplmodel 275 276 IF 261 262 IF( srcv(ji)%nct .GT. 1 ) THEN 277 263 WRITE(cli2,'(i2.2)') jc 278 264 zclname = TRIM(srcv(ji)%clname)//'_cat'//cli2 … … 280 266 zclname = srcv(ji)%clname 281 267 ENDIF 282 IF 268 IF( kcplmodel > 1 ) THEN 283 269 WRITE(cli2,'(i2.2)') jm 284 270 zclname = 'model'//cli2//'_'//TRIM(zclname) 285 271 ENDIF 286 272 #if defined key_agrif 287 IF( agrif_fixed() /= 0 ) THEN 273 IF( agrif_fixed() /= 0 ) THEN 288 274 zclname=TRIM(Agrif_CFixed())//'_'//TRIM(zclname) 289 END 290 #endif 291 IF( ln_ctl) WRITE(numout,*) "Define", ji, jc, jm, " "//TRIM(zclname), " for ", OASIS_In275 ENDIF 276 #endif 277 IF( sn_cfctl%l_oasout ) WRITE(numout,*) "Define", ji, jc, jm, " "//TRIM(zclname), " for ", OASIS_In 292 278 CALL oasis_def_var (srcv(ji)%nid(jc,jm), zclname, id_part , (/ 2, 1 /), & 293 279 & OASIS_In , ishape , OASIS_REAL, nerror ) 294 IF 280 IF( nerror /= OASIS_Ok ) THEN 295 281 WRITE(numout,*) 'Failed to define transient ', ji, jc, jm, " "//TRIM(zclname) 296 282 CALL oasis_abort ( srcv(ji)%nid(jc,jm), 'cpl_define', 'Failure in oasis_def_var' ) 297 283 ENDIF 298 IF( ln_ctl.AND. srcv(ji)%nid(jc,jm) /= -1 ) WRITE(numout,*) "variable defined in the namcouple"299 IF( ln_ctl.AND. srcv(ji)%nid(jc,jm) == -1 ) WRITE(numout,*) "variable NOT defined in the namcouple"284 IF( sn_cfctl%l_oasout .AND. srcv(ji)%nid(jc,jm) /= -1 ) WRITE(numout,*) "variable defined in the namcouple" 285 IF( sn_cfctl%l_oasout .AND. srcv(ji)%nid(jc,jm) == -1 ) WRITE(numout,*) "variable NOT defined in the namcouple" 300 286 301 287 END DO … … 303 289 ENDIF 304 290 END DO 305 291 306 292 !------------------------------------------------------------------ 307 293 ! End of definition phase 308 294 !------------------------------------------------------------------ 309 ! 295 ! 310 296 #if defined key_agrif 311 IF( agrif_fixed() == Agrif_Nb_Fine_Grids() ) THEN 297 ! Warning: Agrif_Nb_Fine_Grids not yet defined at this stage for Agrif_Root -> must use Agrif_Root_Only() 298 IF( Agrif_Root_Only() .OR. agrif_fixed() == Agrif_Nb_Fine_Grids() ) THEN 312 299 #endif 313 300 CALL xios_oasis_enddef() … … 318 305 #endif 319 306 ! 320 IF ( ltmp_wapatch ) THEN321 nldi = nldi_save ; nlei = nlei_save322 nldj = nldj_save ; nlej = nlej_save323 ENDIF324 307 END SUBROUTINE cpl_define 325 326 308 309 327 310 SUBROUTINE cpl_snd( kid, kstep, pdata, kinfo ) 328 311 !!--------------------------------------------------------------------- … … 339 322 INTEGER :: jc,jm ! local loop index 340 323 !!-------------------------------------------------------------------- 341 ! patch to restore wraparound rows in cpl_send, cpl_rcv, cpl_define342 IF ( ltmp_wapatch ) THEN343 nldi_save = nldi ; nlei_save = nlei344 nldj_save = nldj ; nlej_save = nlej345 IF( nimpp == 1 ) nldi = 1346 IF( nimpp + jpi - 1 == jpiglo ) nlei = jpi347 IF( njmpp == 1 ) nldj = 1348 IF( njmpp + jpj - 1 == jpjglo ) nlej = jpj349 ENDIF350 324 ! 351 325 ! snd data to OASIS3 … … 353 327 DO jc = 1, ssnd(kid)%nct 354 328 DO jm = 1, ssnd(kid)%ncplmodel 355 356 IF( ssnd(kid)%nid(jc,jm) /= -1 ) THEN 357 CALL oasis_put ( ssnd(kid)%nid(jc,jm), kstep, pdata( nldi:nlei, nldj:nlej,jc), kinfo )358 359 IF ( ln_ctl ) THEN329 330 IF( ssnd(kid)%nid(jc,jm) /= -1 ) THEN ! exclude halos from data sent to oasis 331 CALL oasis_put ( ssnd(kid)%nid(jc,jm), kstep, pdata(Nis0:Nie0, Njs0:Nje0,jc), kinfo ) 332 333 IF ( sn_cfctl%l_oasout ) THEN 360 334 IF ( kinfo == OASIS_Sent .OR. kinfo == OASIS_ToRest .OR. & 361 335 & kinfo == OASIS_SentOut .OR. kinfo == OASIS_ToRestOut ) THEN … … 365 339 WRITE(numout,*) 'oasis_put: kstep ', kstep 366 340 WRITE(numout,*) 'oasis_put: info ', kinfo 367 WRITE(numout,*) ' - Minimum value is ', MINVAL(pdata( nldi:nlei,nldj:nlej,jc))368 WRITE(numout,*) ' - Maximum value is ', MAXVAL(pdata( nldi:nlei,nldj:nlej,jc))369 WRITE(numout,*) ' - Sum value is ', SUM(pdata(nldi:nlei,nldj:nlej,jc))341 WRITE(numout,*) ' - Minimum value is ', MINVAL(pdata(Nis0:Nie0,Njs0:Nje0,jc)) 342 WRITE(numout,*) ' - Maximum value is ', MAXVAL(pdata(Nis0:Nie0,Njs0:Nje0,jc)) 343 WRITE(numout,*) ' - Sum value is ', SUM(pdata(Nis0:Nie0,Njs0:Nje0,jc)) 370 344 WRITE(numout,*) '****************' 371 345 ENDIF 372 346 ENDIF 373 347 374 348 ENDIF 375 349 376 350 ENDDO 377 351 ENDDO 378 IF ( ltmp_wapatch ) THEN379 nldi = nldi_save ; nlei = nlei_save380 nldj = nldj_save ; nlej = nlej_save381 ENDIF382 352 ! 383 353 END SUBROUTINE cpl_snd … … 398 368 !! 399 369 INTEGER :: jc,jm ! local loop index 400 LOGICAL :: llaction, ll fisrt370 LOGICAL :: llaction, ll_1st 401 371 !!-------------------------------------------------------------------- 402 ! patch to restore wraparound rows in cpl_send, cpl_rcv, cpl_define403 IF ( ltmp_wapatch ) THEN404 nldi_save = nldi ; nlei_save = nlei405 nldj_save = nldj ; nlej_save = nlej406 ENDIF407 372 ! 408 373 ! receive local data from OASIS3 on every process … … 411 376 ! 412 377 DO jc = 1, srcv(kid)%nct 413 IF ( ltmp_wapatch ) THEN 414 IF( nimpp == 1 ) nldi = 1 415 IF( nimpp + jpi - 1 == jpiglo ) nlei = jpi 416 IF( njmpp == 1 ) nldj = 1 417 IF( njmpp + jpj - 1 == jpjglo ) nlej = jpj 418 ENDIF 419 llfisrt = .TRUE. 378 ll_1st = .TRUE. 420 379 421 380 DO jm = 1, srcv(kid)%ncplmodel … … 423 382 IF( srcv(kid)%nid(jc,jm) /= -1 ) THEN 424 383 425 CALL oasis_get ( srcv(kid)%nid(jc,jm), kstep, exfld, kinfo ) 426 384 CALL oasis_get ( srcv(kid)%nid(jc,jm), kstep, exfld, kinfo ) 385 427 386 llaction = kinfo == OASIS_Recvd .OR. kinfo == OASIS_FromRest .OR. & 428 387 & kinfo == OASIS_RecvOut .OR. kinfo == OASIS_FromRestOut 429 430 IF ( ln_ctl ) WRITE(numout,*) "llaction, kinfo, kstep, ivarid: " , llaction, kinfo, kstep, srcv(kid)%nid(jc,jm) 431 432 IF ( llaction ) THEN 433 388 389 IF ( sn_cfctl%l_oasout ) & 390 & WRITE(numout,*) "llaction, kinfo, kstep, ivarid: " , llaction, kinfo, kstep, srcv(kid)%nid(jc,jm) 391 392 IF( llaction ) THEN ! data received from oasis do not include halos 393 434 394 kinfo = OASIS_Rcv 435 IF( ll fisrt ) THEN436 pdata( nldi:nlei,nldj:nlej,jc) = exfld(:,:) * pmask(nldi:nlei,nldj:nlej,jm)437 ll fisrt = .FALSE.395 IF( ll_1st ) THEN 396 pdata(Nis0:Nie0,Njs0:Nje0,jc) = exfld(:,:) * pmask(Nis0:Nie0,Njs0:Nje0,jm) 397 ll_1st = .FALSE. 438 398 ELSE 439 pdata(nldi:nlei,nldj:nlej,jc) = pdata(nldi:nlei,nldj:nlej,jc) + exfld(:,:) * pmask(nldi:nlei,nldj:nlej,jm) 440 ENDIF 441 442 IF ( ln_ctl ) THEN 399 pdata(Nis0:Nie0,Njs0:Nje0,jc) = pdata(Nis0:Nie0,Njs0:Nje0,jc) & 400 & + exfld(:,:) * pmask(Nis0:Nie0,Njs0:Nje0,jm) 401 ENDIF 402 403 IF ( sn_cfctl%l_oasout ) THEN 443 404 WRITE(numout,*) '****************' 444 405 WRITE(numout,*) 'oasis_get: Incoming ', srcv(kid)%clname … … 446 407 WRITE(numout,*) 'oasis_get: kstep', kstep 447 408 WRITE(numout,*) 'oasis_get: info ', kinfo 448 WRITE(numout,*) ' - Minimum value is ', MINVAL(pdata( nldi:nlei,nldj:nlej,jc))449 WRITE(numout,*) ' - Maximum value is ', MAXVAL(pdata( nldi:nlei,nldj:nlej,jc))450 WRITE(numout,*) ' - Sum value is ', SUM(pdata(nldi:nlei,nldj:nlej,jc))409 WRITE(numout,*) ' - Minimum value is ', MINVAL(pdata(Nis0:Nie0,Njs0:Nje0,jc)) 410 WRITE(numout,*) ' - Maximum value is ', MAXVAL(pdata(Nis0:Nie0,Njs0:Nje0,jc)) 411 WRITE(numout,*) ' - Sum value is ', SUM(pdata(Nis0:Nie0,Njs0:Nje0,jc)) 451 412 WRITE(numout,*) '****************' 452 413 ENDIF 453 414 454 415 ENDIF 455 416 456 417 ENDIF 457 418 458 419 ENDDO 459 420 460 IF ( ltmp_wapatch ) THEN461 nldi = nldi_save ; nlei = nlei_save462 nldj = nldj_save ; nlej = nlej_save421 !--- we must call lbc_lnk to fill the halos that where not received. 422 IF( .NOT. ll_1st ) THEN 423 CALL lbc_lnk( 'cpl_oasis3', pdata(:,:,jc), srcv(kid)%clgrid, srcv(kid)%nsgn ) 463 424 ENDIF 464 !--- Fill the overlap areas and extra hallows (mpp) 465 !--- check periodicity conditions (all cases) 466 IF( .not. llfisrt ) THEN 467 CALL lbc_lnk( 'cpl_oasis3', pdata(:,:,jc), srcv(kid)%clgrid, srcv(kid)%nsgn ) 468 ENDIF 469 425 470 426 ENDDO 471 427 ! … … 473 429 474 430 475 INTEGER FUNCTION cpl_freq( cdfieldname ) 431 INTEGER FUNCTION cpl_freq( cdfieldname ) 476 432 !!--------------------------------------------------------------------- 477 433 !! *** ROUTINE cpl_freq *** … … 491 447 ! 492 448 DO ji = 1, nsnd 493 IF 449 IF(ssnd(ji)%laction ) THEN 494 450 DO jm = 1, ncplmodel 495 451 IF( ssnd(ji)%nid(1,jm) /= -1 ) THEN … … 503 459 ENDDO 504 460 DO ji = 1, nrcv 505 IF 461 IF(srcv(ji)%laction ) THEN 506 462 DO jm = 1, ncplmodel 507 463 IF( srcv(ji)%nid(1,jm) /= -1 ) THEN … … 516 472 ! 517 473 IF( id /= -1 ) THEN 518 #if defined key_oa3mct_v 3474 #if defined key_oa3mct_v1v2 519 475 CALL oasis_get_freqs(id, mop, 1, itmp, info) 520 476 #else … … 537 493 ! 538 494 DEALLOCATE( exfld ) 539 IF 540 CALL oasis_terminate( nerror ) 495 IF(nstop == 0) THEN 496 CALL oasis_terminate( nerror ) 541 497 ELSE 542 498 CALL oasis_abort( ncomp_id, "cpl_finalize", "NEMO ABORT STOP" ) 543 ENDIF 499 ENDIF 544 500 ! 545 501 END SUBROUTINE cpl_finalize … … 591 547 WRITE(numout,*) 'oasis_enddef: Error you sould not be there...' 592 548 END SUBROUTINE oasis_enddef 593 549 594 550 SUBROUTINE oasis_put(k1,k2,p1,k3) 595 551 REAL(wp), DIMENSION(:,:), INTENT(in ) :: p1 … … 621 577 WRITE(numout,*) 'oasis_terminate: Error you sould not be there...' 622 578 END SUBROUTINE oasis_terminate 623 579 624 580 #endif 625 581 -
CONFIG/UNIFORM/v6/IPSLCM6.5.1/SOURCES/NEMO/file_def_nemo-ice_ORCA1.xml
r6119 r6152 67 67 <field field_ref="icestr" name="sistre" level="2" /> 68 68 <field field_ref="normstr" name="normstr" level="2"/> 69 <field field_ref="sheastr" name="sheastr" level="2" /> 70 <field field_ref="isig1" name="isig1" level="2" /> 71 <field field_ref="isig2" name="isig2" level="2" /> 72 <field field_ref="isig3" name="isig3" level="2" /> 69 <field field_ref="sheastr" name="sheastr" level="2" /> 70 <field field_ref="sig1_pnorm" name="sig1_pnorm" level="2" /> 71 <field field_ref="sig2_pnorm" name="sig2_pnorm" level="2"/> 73 72 <!-- heat fluxes --> 74 73 <field field_ref="qt_oce_ai" name="qt_oce_ai" level="2" /> … … 85 84 <field field_ref="hfxcndbot" name="hfxcndbot" level="2" /> 86 85 <field field_ref="hfxsensib" name="hfxsensib" level="2" /> 87 86 <field field_ref="hfxsub" name="hfxsub" level="2" /> 87 <field field_ref="hfxspr" name="hfxspr" level="2" /> 88 <field field_ref="hfxmelt" name="hfxmelt" level="2" /> 89 <field field_ref="hfxldmelt" name="hfxldmelt" level="2" /> 90 <field field_ref="hfxldgrow" name="hfxldgrow" level="2" /> 88 91 <!-- salt fluxes --> 89 92 <field field_ref="sfxice" name="sfxice" level="1" /> 90 93 <field field_ref="sfxsni" name="sfxsni" level="1" /> 91 92 <!-- mass fluxes --> 94 <!-- mass fluxes --> 93 95 <field field_ref="vfxice" name="vfxice" level="2" /> 94 96 <field field_ref="vfxsnw" name="vfxsnw" level="2" /> 95 97 <field field_ref="vfxsub" name="vfxsub" level="2" /> 96 98 <field field_ref="vfxsub_err" name="vfxsub_err" level="2" /> 99 <field field_ref="vfxsnw_pre" name="vfxsnw_pre" level="2" /> 100 <field field_ref="vfxsnw_sub" name="vfxsnw_sub" level="2" /> 101 <field field_ref="vfxpnd" name="vfxpnd" level="2" /> 97 102 98 103 <!-- outputs by category --> -
CONFIG/UNIFORM/v6/IPSLCM6.5.1/SOURCES/NEMO/file_def_nemo-oce.xml
r6119 r6152 71 71 <field field_ref="ibgheat_tot" name="ibgheat_tot" level="1" /> 72 72 <field field_ref="sbgheat_tot" name="sbgheat_tot" level="1" /> 73 <field field_ref="ipbgvol_tot" name="ipbgvol_tot" level="1" /> 74 <field field_ref="ilbgvol_tot" name="ilbgvol_tot" level="1" /> 73 75 74 76 <!-- global drifts (conservation checks) --> … … 124 126 <field field_ref="subl_ai_cea" name="subl_ai_cea" level="1" /> 125 127 <field field_ref="fmmflx" name="fmmflx" level="1" /> 126 <field field_ref="fwfisf "name="fwfisf" level="1" />128 <field field_ref="fwfisf_par" name="fwfisf" level="1" /> 127 129 <field field_ref="hflx_snow_ai_cea" name="hflx_snow_ai" level="1" /> 128 130 <field field_ref="hflx_snow_ao_cea" name="hflx_snow_ao" level="1" /> 129 131 <field field_ref="hflx_ice_cea" name="hflx_ice" level="1" /> 130 <field field_ref=" hflx_isf_cea" name="hflx_isf" level="1" />132 <field field_ref="qhcisf_par" name="hflx_isf" level="1" /> 131 133 <field field_ref="hflx_rnf_cea" name="hflx_rnf" level="1" /> 132 134 <!-- For salt conservation checking --> … … 176 178 177 179 <file id="file8" name_suffix="_trdtra" description="ocean trends variables" > 178 <field field_ref="ttrd_zdfp_e3t" name="ttrdtr_zdfp" long_name="Tendency_of_heat_content_from_parameterized_dianeutral_mixing" unit="W m-2" level="2" > this * $cpocean * $r au0 </field>179 <field field_ref="ttrd_iso_e3t" name="ttrdtr_iso" long_name="Tendency_of_heat_content_from_parameterized_eddy_diffusion" unit="W m-2" level="2" > this * $cpocean * $r au0 </field>180 <field field_ref="ttrd_totad_e3t" name="ttrdtr_totad" long_name="Tendency_of_heat_content_from_residual_mean_advection" unit="W m-2" level="2" > this * $cpocean * $r au0 </field>181 <field field_ref="ttrd_tot_e3t" name="ttrdtr_tot" long_name="Tendency_of_heat_content_from_all_processes" unit="W m-2" level="2" > this * $cpocean * $r au0 </field>182 <field field_ref="strd_zdfp_e3t" name="strdtr_zdfp" long_name="Tendency_of_salt_content_from_parameterized_dianeutral_mixing" unit="kg m-2 s-1" level="2" > this * $r au0 </field>183 <field field_ref="strd_iso_e3t" name="strdtr_iso" long_name="Tendency_of_salt_content_from_parameterized_eddy_diffusion" unit="kg m-2 s-1" level="2" > this * $r au0 </field>184 <field field_ref="strd_totad_e3t" name="strdtr_totad" long_name="Tendency_of_salt_content_from_residual_mean_advection" unit="kg m-2 s-1" level="2" > this * $r au0 </field>185 <field field_ref="strd_tot_e3t" name="strdtr_tot" long_name="Tendency_of_salt_content_from_all_processes" unit="kg m-2 s-1" level="2" > this * $r au0 </field>180 <field field_ref="ttrd_zdfp_e3t" name="ttrdtr_zdfp" long_name="Tendency_of_heat_content_from_parameterized_dianeutral_mixing" unit="W m-2" level="2" > this * $cpocean * $rho0 </field> 181 <field field_ref="ttrd_iso_e3t" name="ttrdtr_iso" long_name="Tendency_of_heat_content_from_parameterized_eddy_diffusion" unit="W m-2" level="2" > this * $cpocean * $rho0 </field> 182 <field field_ref="ttrd_totad_e3t" name="ttrdtr_totad" long_name="Tendency_of_heat_content_from_residual_mean_advection" unit="W m-2" level="2" > this * $cpocean * $rho0 </field> 183 <field field_ref="ttrd_tot_e3t" name="ttrdtr_tot" long_name="Tendency_of_heat_content_from_all_processes" unit="W m-2" level="2" > this * $cpocean * $rho0 </field> 184 <field field_ref="strd_zdfp_e3t" name="strdtr_zdfp" long_name="Tendency_of_salt_content_from_parameterized_dianeutral_mixing" unit="kg m-2 s-1" level="2" > this * $rho0 </field> 185 <field field_ref="strd_iso_e3t" name="strdtr_iso" long_name="Tendency_of_salt_content_from_parameterized_eddy_diffusion" unit="kg m-2 s-1" level="2" > this * $rho0 </field> 186 <field field_ref="strd_totad_e3t" name="strdtr_totad" long_name="Tendency_of_salt_content_from_residual_mean_advection" unit="kg m-2 s-1" level="2" > this * $rho0 </field> 187 <field field_ref="strd_tot_e3t" name="strdtr_tot" long_name="Tendency_of_salt_content_from_all_processes" unit="kg m-2 s-1" level="2" > this * $rho0 </field> 186 188 </file> 187 189 … … 247 249 <!-- <field field_ref="28d" level="1" /> --> 248 250 <field field_ref="hc300" level="1" /> 249 <field field_ref="heatc" level="1" />250 251 <!-- next variables are additional for PISCES offline--> 251 252 <field field_ref="hdiv" name="hdivtr" long_name="horizontal divergence transport" operation="average" freq_op="1mo" level="2" > @hdiv * @e3t </field> … … 259 260 <field field_ref="qt_ice" name="qt_ice" long_name="downward total flux at ice surface" level="2" /> 260 261 <field field_ref="qemp_ice" name="qemp_ice" long_name="Downward Heat Flux from E-P over ice" level="2" /> 261 <field field_ref="hflx_rain_cea" name="hflx_rain_cea" level="2" /> 262 <field field_ref="hflx_evap_cea" name="hflx_evap_cea" level="2" /> 263 <field field_ref="hflx_snow_cea" name="hflx_snow_cea" level="2" /> 264 <field field_ref="hflx_cal_cea" name="hflx_cal_cea" level="2" /> 265 <!-- For freshwater conservation checking --> 266 <field field_ref="empmr" name="wfo" long_name="water_flux_into_sea_water" level="1" /> 267 <field field_ref="emp_oce" name="emp_oce" level="2" /> 268 <field field_ref="emp_ice" name="emp_ice" level="2" /> 269 <field field_ref="runoffs" name="runoffs" level="2" /> 270 <field field_ref="runoffs" name="friver" long_name="water_flux_into_sea_water_from_rivers" level="1" > runoffs - iceberg_cea </field> 271 <field field_ref="calving_cea" name="calving" level="2" /> 262 <field field_ref="hflx_rain_cea" name="hflx_rain_cea" level="2" /> 263 <field field_ref="hflx_evap_cea" name="hflx_evap_cea" level="2" /> 264 <field field_ref="hflx_snow_cea" name="hflx_snow_cea" level="2" /> 265 <field field_ref="hflx_snow_ao_cea" name="hflx_snow_ao_cea" level="2" /> 266 <field field_ref="hflx_snow_ai_cea" name="hflx_snow_ai_cea" level="2" /> 267 <field field_ref="hflx_cal_cea" name="hflx_cal_cea" level="2" /> 268 <field field_ref="hflx_icb_cea" name="hflx_icb_cea" level="2" /> 269 <field field_ref="hflx_rnf_cea" name="hflx_rnf_cea" level="2" /> 270 <field field_ref="qhcisf_par" name="hflx_isf_cea" level="1" /> 271 272 <!-- For freshwater conservation checking --> 273 <field field_ref="empmr" name="wfo" long_name="water_flux_into_sea_water" level="1" /> 274 <field field_ref="emp_oce" name="emp_oce" level="2" /> 275 <field field_ref="emp_ice" name="emp_ice" level="2" /> 276 <field field_ref="runoffs" name="runoffs" level="2" /> 277 <field field_ref="runoffs" name="friver" long_name="water_flux_into_sea_water_from_rivers" level="1" > runoffs - iceberg_cea </field> 278 <field field_ref="calving_cea" name="calving" level="2" /> 272 279 <field field_ref="iceberg_cea" name="iceberg" level="2" /> 273 <field field_ref="iceshelf_cea" name="iceshelf" level="2" /> 274 <field field_ref="vfxice" name="vfxice" level="2" /> 275 <field field_ref="vfxsnw" name="vfxsnw" level="2" /> 276 <field field_ref="vfxsub" name="vfxsub" level="2" /> 277 <field field_ref="rain" name="rain" level="2" /> 278 <field field_ref="snow_ao_cea" name="snow_ao_cea" level="2" /> 279 <field field_ref="snow_ai_cea" name="snow_ai_cea" level="2" /> 280 <field field_ref="evap_ao_cea" name="evap_ao_cea" level="2" /> 281 <field field_ref="subl_ai_cea" name="subl_ai_cea" level="2" /> 282 <!-- For salt conservation checking --> 280 <field field_ref="fwfisf_par" name="iceshelf" level="2" /> 281 <field field_ref="vfxice" name="vfxice" level="2" /> 282 <field field_ref="vfxsnw" name="vfxsnw" level="2" /> 283 <field field_ref="vfxsub" name="vfxsub" level="2" /> 284 <field field_ref="vfxsub_err" name="vfxsub_err" level="2" /> 285 <field field_ref="vfxsnw_pre" name="vfxsnw_pre" level="2" /> 286 <field field_ref="vfxsnw_sub" name="vfxsnw_sub" level="2" /> 287 <field field_ref="vfxpnd" name="vfxpnd" level="2" /> 288 <field field_ref="rain" name="rain" level="2" /> 289 <field field_ref="snow_ao_cea" name="snow_ao_cea" level="2" /> 290 <field field_ref="snow_ai_cea" name="snow_ai_cea" level="2" /> 291 <field field_ref="evap_ao_cea" name="evap_ao_cea" level="2" /> 292 <field field_ref="subl_ai_cea" name="subl_ai_cea" level="2" /> 293 <field field_ref="precip" name="precip" level="2" /> 294 <field field_ref="snowpre" name="snowpre" level="2" /> 295 <!-- For salt conservation checking --> 283 296 <field field_ref="saltflx" name="sosflxdo" level="2" /> 284 297 </file> … … 291 304 <field field_ref="uocetr_eff" name="uocetr_eff" level="2" /> 292 305 <field field_ref="ahu_bbl" /> 293 <!-- available with key_diaar5 -->294 <field field_ref="u_masstr" name="vozomatr" level="2" />295 <field field_ref="u_heattr" name="sozohetr" level="2" />296 <field field_ref="u_salttr" name="sozosatr" level="2" />297 306 </file> 298 307 … … 304 313 <field field_ref="vocetr_eff" name="vocetr_eff" level="2" /> 305 314 <field field_ref="ahv_bbl" /> 306 <!-- available with key_diaar5 -->307 <field field_ref="v_masstr" name="vomematr" level="2" />308 <field field_ref="v_heattr" name="somehetr" level="2" />309 <field field_ref="v_salttr" name="somesatr" level="2" />310 315 </file> 311 316 … … 420 425 421 426 <file id="file18" name_suffix="_trdtra" description="ocean trends variables" > 422 <field field_ref="ttrd_zdfp_e3t" name="ttrdtr_zdfp" long_name="Tendency_of_heat_content_from_parameterized_dianeutral_mixing" unit="W m-2" level="2" > this * $cpocean * $r au0 </field>423 <field field_ref="ttrd_iso_e3t" name="ttrdtr_iso" long_name="Tendency_of_heat_content_from_parameterized_eddy_diffusion" unit="W m-2" level="2" > this * $cpocean * $r au0 </field>424 <field field_ref="ttrd_totad_e3t" name="ttrdtr_totad" long_name="Tendency_of_heat_content_from_residual_mean_advection" unit="W m-2" level="2" > this * $cpocean * $r au0 </field>425 <field field_ref="ttrd_tot_e3t" name="ttrdtr_tot" long_name="Tendency_of_heat_content_from_all_processes" unit="W m-2" level="2" > this * $cpocean * $r au0 </field>426 <field field_ref="strd_zdfp_e3t" name="strdtr_zdfp" long_name="Tendency_of_salt_content_from_parameterized_dianeutral_mixing" unit="kg m-2 s-1" level="2" > this * $r au0 </field>427 <field field_ref="strd_iso_e3t" name="strdtr_iso" long_name="Tendency_of_salt_content_from_parameterized_eddy_diffusion" unit="kg m-2 s-1" level="2" > this * $r au0 </field>428 <field field_ref="strd_totad_e3t" name="strdtr_totad" long_name="Tendency_of_salt_content_from_residual_mean_advection" unit="kg m-2 s-1" level="2" > this * $r au0 </field>429 <field field_ref="strd_tot_e3t" name="strdtr_tot" long_name="Tendency_of_salt_content_from_all_processes" unit="kg m-2 s-1" level="2" > this * $r au0 </field>427 <field field_ref="ttrd_zdfp_e3t" name="ttrdtr_zdfp" long_name="Tendency_of_heat_content_from_parameterized_dianeutral_mixing" unit="W m-2" level="2" > this * $cpocean * $rho0 </field> 428 <field field_ref="ttrd_iso_e3t" name="ttrdtr_iso" long_name="Tendency_of_heat_content_from_parameterized_eddy_diffusion" unit="W m-2" level="2" > this * $cpocean * $rho0 </field> 429 <field field_ref="ttrd_totad_e3t" name="ttrdtr_totad" long_name="Tendency_of_heat_content_from_residual_mean_advection" unit="W m-2" level="2" > this * $cpocean * $rho0 </field> 430 <field field_ref="ttrd_tot_e3t" name="ttrdtr_tot" long_name="Tendency_of_heat_content_from_all_processes" unit="W m-2" level="2" > this * $cpocean * $rho0 </field> 431 <field field_ref="strd_zdfp_e3t" name="strdtr_zdfp" long_name="Tendency_of_salt_content_from_parameterized_dianeutral_mixing" unit="kg m-2 s-1" level="2" > this * $rho0 </field> 432 <field field_ref="strd_iso_e3t" name="strdtr_iso" long_name="Tendency_of_salt_content_from_parameterized_eddy_diffusion" unit="kg m-2 s-1" level="2" > this * $rho0 </field> 433 <field field_ref="strd_totad_e3t" name="strdtr_totad" long_name="Tendency_of_salt_content_from_residual_mean_advection" unit="kg m-2 s-1" level="2" > this * $rho0 </field> 434 <field field_ref="strd_tot_e3t" name="strdtr_tot" long_name="Tendency_of_salt_content_from_all_processes" unit="kg m-2 s-1" level="2" > this * $rho0 </field> 430 435 </file> 431 436 … … 476 481 <field field_ref="hflx_snow_cea" name="hflx_snow_cea" level="2" /> 477 482 <field field_ref="hflx_cal_cea" name="hflx_cal_cea" level="2" /> 483 <field field_ref="qhcisf_par" name="hflx_isf" level="1" /> 478 484 <!-- For freshwater conservation checking --> 479 485 <field field_ref="empmr" name="wfo" long_name="water_flux_into_sea_water" level="2" /> … … 484 490 <field field_ref="calving_cea" name="calving" level="2" /> 485 491 <field field_ref="iceberg_cea" name="iceberg" level="2" /> 486 <field field_ref=" iceshelf_cea" name="iceshelf" level="2" />492 <field field_ref="fwfisf_par" name="iceshelf" level="2" /> 487 493 <field field_ref="vfxice" name="vfxice" level="2" /> 488 494 <field field_ref="vfxsnw" name="vfxsnw" level="2" /> … … 556 562 557 563 <file id="file26" name_suffix="_trdtra" description="ocean trends variables" > 558 <field field_ref="ttrd_zdfp_e3t" name="ttrdtr_zdfp" long_name="Tendency_of_heat_content_from_parameterized_dianeutral_mixing" unit="W m-2" level="2" > this * $cpocean * $r au0 </field>559 <field field_ref="ttrd_iso_e3t" name="ttrdtr_iso" long_name="Tendency_of_heat_content_from_parameterized_eddy_diffusion" unit="W m-2" level="2" > this * $cpocean * $r au0 </field>560 <field field_ref="ttrd_totad_e3t" name="ttrdtr_totad" long_name="Tendency_of_heat_content_from_residual_mean_advection" unit="W m-2" level="2" > this * $cpocean * $r au0 </field>561 <field field_ref="ttrd_tot_e3t" name="ttrdtr_tot" long_name="Tendency_of_heat_content_from_all_processes" unit="W m-2" level="2" > this * $cpocean * $r au0 </field>562 <field field_ref="strd_zdfp_e3t" name="strdtr_zdfp" long_name="Tendency_of_salt_content_from_parameterized_dianeutral_mixing" unit="kg m-2 s-1" level="2" > this * $r au0 </field>563 <field field_ref="strd_iso_e3t" name="strdtr_iso" long_name="Tendency_of_salt_content_from_parameterized_eddy_diffusion" unit="kg m-2 s-1" level="2" > this * $r au0 </field>564 <field field_ref="strd_totad_e3t" name="strdtr_totad" long_name="Tendency_of_salt_content_from_residual_mean_advection" unit="kg m-2 s-1" level="2" > this * $r au0 </field>565 <field field_ref="strd_tot_e3t" name="strdtr_tot" long_name="Tendency_of_salt_content_from_all_processes" unit="kg m-2 s-1" level="2" > this * $r au0 </field>564 <field field_ref="ttrd_zdfp_e3t" name="ttrdtr_zdfp" long_name="Tendency_of_heat_content_from_parameterized_dianeutral_mixing" unit="W m-2" level="2" > this * $cpocean * $rho0 </field> 565 <field field_ref="ttrd_iso_e3t" name="ttrdtr_iso" long_name="Tendency_of_heat_content_from_parameterized_eddy_diffusion" unit="W m-2" level="2" > this * $cpocean * $rho0 </field> 566 <field field_ref="ttrd_totad_e3t" name="ttrdtr_totad" long_name="Tendency_of_heat_content_from_residual_mean_advection" unit="W m-2" level="2" > this * $cpocean * $rho0 </field> 567 <field field_ref="ttrd_tot_e3t" name="ttrdtr_tot" long_name="Tendency_of_heat_content_from_all_processes" unit="W m-2" level="2" > this * $cpocean * $rho0 </field> 568 <field field_ref="strd_zdfp_e3t" name="strdtr_zdfp" long_name="Tendency_of_salt_content_from_parameterized_dianeutral_mixing" unit="kg m-2 s-1" level="2" > this * $rho0 </field> 569 <field field_ref="strd_iso_e3t" name="strdtr_iso" long_name="Tendency_of_salt_content_from_parameterized_eddy_diffusion" unit="kg m-2 s-1" level="2" > this * $rho0 </field> 570 <field field_ref="strd_totad_e3t" name="strdtr_totad" long_name="Tendency_of_salt_content_from_residual_mean_advection" unit="kg m-2 s-1" level="2" > this * $rho0 </field> 571 <field field_ref="strd_tot_e3t" name="strdtr_tot" long_name="Tendency_of_salt_content_from_all_processes" unit="kg m-2 s-1" level="2" > this * $rho0 </field> 566 572 </file> 567 573 -
CONFIG/UNIFORM/v6/IPSLCM6.5.1/SOURCES/NEMO/file_def_nemo-pisces.xml
r6119 r6152 33 33 <field field_ref="tcexp" name="tcexp" unit="PgC/yr" operation="instant" level="2" > tcexp * 12. * 86400. * 365. / 1e15 </field> 34 34 <field field_ref="tintpp" name="tintpp" unit="PgC/yr" operation="instant" level="2" > tintpp * 12. * 86400. * 365. / 1e15 </field> 35 <field field_ref="pno3tot" name="pno3tot" unit="umolN" operation="instant" level="2" > pno3tot * 16. / 1 22. * 1e6 </field>36 <field field_ref="ppo4tot" name="ppo4tot" unit="umolP" operation="instant" level="2" > ppo4tot * 1. / 1 22. * 1e6 </field>35 <field field_ref="pno3tot" name="pno3tot" unit="umolN" operation="instant" level="2" > pno3tot * 16. / 117. * 1e6 </field> 36 <field field_ref="ppo4tot" name="ppo4tot" unit="umolP" operation="instant" level="2" > ppo4tot * 1. / 117. * 1e6 </field> 37 37 <field field_ref="psiltot" name="psiltot" unit="umolC" operation="instant" level="2" > psiltot * 1e6 </field> 38 38 <field field_ref="palktot" name="palktot" unit="umolC" operation="instant" level="2" > palktot * 1e6 </field> … … 51 51 <field field_ref="tcexp" name="tcexp" unit="PgC/yr" operation="instant" level="2" > tcexp * 12. * 86400. * 365. / 1e15 </field> 52 52 <field field_ref="tintpp" name="tintpp" unit="PgC/yr" operation="instant" level="2" > tintpp * 12. * 86400. * 365. / 1e15 </field> 53 <field field_ref="pno3tot" name="pno3tot" unit="umolN" operation="instant" level="2" > pno3tot * 16. / 1 22. * 1e6 </field>54 <field field_ref="ppo4tot" name="ppo4tot" unit="umolP" operation="instant" level="2" > ppo4tot * 1. / 1 22. * 1e6 </field>53 <field field_ref="pno3tot" name="pno3tot" unit="umolN" operation="instant" level="2" > pno3tot * 16. / 117. * 1e6 </field> 54 <field field_ref="ppo4tot" name="ppo4tot" unit="umolP" operation="instant" level="2" > ppo4tot * 1. / 117. * 1e6 </field> 55 55 <field field_ref="psiltot" name="psiltot" unit="umolC" operation="instant" level="2" > psiltot * 1e6 </field> 56 56 <field field_ref="palktot" name="palktot" unit="umolC" operation="instant" level="2" > palktot * 1e6 </field> … … 123 123 <field field_ref="EPCAL100" name="EPCAL100" level="2" /> 124 124 <field field_ref="xfracal" name="xfracal" level="2" /> 125 <field field_ref="GRAZ1" name="GRAZ" level="2" > this + GRAZ2 </field> 125 126 126 127 </file> … … 133 134 <field field_ref="tcexp" name="tcexp" unit="PgC/yr" operation="instant" level="1" > tcexp * 12. * 86400. * 365. / 1e15 </field> 134 135 <field field_ref="tintpp" name="tintpp" unit="PgC/yr" operation="instant" level="1" > tintpp * 12. * 86400. * 365. / 1e15 </field> 135 <field field_ref="pno3tot" name="pno3tot" unit="umolN" operation="instant" level="1" > pno3tot * 16. / 1 22. * 1e6 </field>136 <field field_ref="ppo4tot" name="ppo4tot" unit="umolP" operation="instant" level="1" > ppo4tot * 1. / 1 22. * 1e6 </field>136 <field field_ref="pno3tot" name="pno3tot" unit="umolN" operation="instant" level="1" > pno3tot * 16. / 117. * 1e6 </field> 137 <field field_ref="ppo4tot" name="ppo4tot" unit="umolP" operation="instant" level="1" > ppo4tot * 1. / 117. * 1e6 </field> 137 138 <field field_ref="psiltot" name="psiltot" unit="umolC" operation="instant" level="1" > psiltot * 1e6 </field> 138 139 <field field_ref="palktot" name="palktot" unit="umolC" operation="instant" level="1" > palktot * 1e6 </field> … … 208 209 <field field_ref="EPCAL100" name="EPCAL100" level="1" /> 209 210 <field field_ref="xfracal" name="xfracal" level="2" /> 211 <field field_ref="GRAZ1" name="GRAZ" level="2" > this + GRAZ2 </field> 210 212 211 213 </file>
Note: See TracChangeset
for help on using the changeset viewer.