Changeset 1250 for trunk/NEMO
- Timestamp:
- 2009-01-13T10:41:45+01:00 (16 years ago)
- Location:
- trunk/NEMO/TOP_SRC/SED
- Files:
-
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/TOP_SRC/SED/par_sed.F90
r1179 r1250 19 19 #if ! defined key_sed_off 20 20 USE par_pisces 21 #endif 22 21 23 #if defined key_kriest 22 24 INTEGER, PARAMETER :: jpdta = 11 … … 24 26 INTEGER, PARAMETER :: jpdta = 12 25 27 #endif 26 #endif 28 27 29 28 30 ! Vertical sediment geometry … … 56 58 57 59 INTEGER, PARAMETER :: & 58 jptrased = 14 , & 59 jpflxsed = 7 60 jptrased = jpsol + jpwat , & 61 jpdia3dsed = 3 , & 62 jpdia2dsed = 7 60 63 #endif 61 64 END MODULE par_sed -
trunk/NEMO/TOP_SRC/SED/sed.F90
r1179 r1250 54 54 borat 55 55 56 #endif 57 56 58 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpdta) :: & 57 59 trc_data !: tracer data to share with sediment model 58 #endif59 60 60 61 INTEGER, PUBLIC :: & … … 186 187 !! Inputs / Outputs 187 188 CHARACTER( len = 80 ), DIMENSION(jptrased) :: & 188 sedtrc3l 189 189 sedtrcl 190 190 CHARACTER( len = 20 ), DIMENSION(jptrased) :: & 191 sedtrc3d , sedtrc3u 192 193 CHARACTER( len = 80 ), DIMENSION(jpflxsed) :: & 194 sedtrc2l 195 196 CHARACTER( len = 20 ), DIMENSION(jpflxsed) :: & 197 sedtrc2d , sedtrc2u 198 191 sedtrcd , sedtrcu 192 193 CHARACTER( len = 80 ), DIMENSION(jpdia3dsed) :: & 194 seddia3l 195 CHARACTER( len = 20 ), DIMENSION(jpdia3dsed) :: & 196 seddia3d , seddia3u 197 198 CHARACTER( len = 80 ), DIMENSION(jpdia2dsed) :: & 199 seddia2l 200 CHARACTER( len = 20 ), DIMENSION(jpdia2dsed) :: & 201 seddia2d , seddia2u 199 202 200 203 REAL(wp), DIMENSION(jpi,jpj,jpksed,jptrased) :: & 201 204 trcsedi 202 203 REAL(wp), DIMENSION(jpi,jpj,jpflxsed) :: & 204 flxsedi 205 REAL(wp), DIMENSION(jpi,jpj,jpksed,jpdia3dsed) :: & 206 flxsedi3d 207 REAL(wp), DIMENSION(jpi,jpj,jpdia2dsed) :: & 208 flxsedi2d 205 209 206 210 !! Units -
trunk/NEMO/TOP_SRC/SED/sedarr.F90
r1179 r1250 116 116 END SUBROUTINE unpack_arr_2d_3d 117 117 118 #else 119 !!====================================================================== 120 !! MODULE sedarr : Dummy module 121 !!====================================================================== 122 CONTAINS 123 SUBROUTINE pack_arr ! Empty routine 124 END SUBROUTINE pack_arr 125 SUBROUTINE unpack_arr ! Empty routine 126 END SUBROUTINE unpack_arr 127 !!====================================================================== 118 128 #endif 119 129 END MODULE sedarr -
trunk/NEMO/TOP_SRC/SED/sedchem.F90
r1179 r1250 319 319 320 320 calcon2(ji) = 0.01028 * ( salt(ji) / 35. ) * densSW(ji) 321 ENDDO 321 322 #endif 322 ENDDO323 323 324 324 END SUBROUTINE sed_chem … … 336 336 !! ! 06-04 (C. Ethe) Re-organization 337 337 !!---------------------------------------------------------------------- 338 !!* Arguments339 INTEGER, INTENT(in) :: &340 kt ! time step341 342 338 !! * Local declarations 343 339 INTEGER :: & -
trunk/NEMO/TOP_SRC/SED/seddsr.F90
r1179 r1250 546 546 SUBROUTINE sed_dsr ( kt ) 547 547 INTEGER, INTENT(in) :: kt 548 WRITE(*,*) 'sed_dsr: You should not have seen this print! error?', kt 548 549 END SUBROUTINE sed_dsr 549 550 #endif -
trunk/NEMO/TOP_SRC/SED/seddta.F90
r1179 r1250 26 26 27 27 INTEGER :: & 28 numbio = 37, & 29 numoce = 47 28 numbio 29 30 #if defined key_sed_off 31 INTEGER :: & 32 numoce 33 #endif 30 34 31 35 CONTAINS … … 78 82 WRITE(numsed,*) ' sed_dta : Sediment fields' 79 83 CALL iom_open ( 'data_bio_bot' , numbio ) 84 #if defined key_sed_off 85 CALL iom_open( 'data_oce_bot', numoce) 86 #endif 80 87 rsecday = 60.* 60. * 24. 81 88 conv1 = 1.0e+2 / rsecday … … 133 140 trc_data(ji,jj,11) = sn (ji,jj,ikt) 134 141 # endif 135 136 #else137 CALL iom_get( numbio, jpdom_data, 'ALKBOT' , trc_data(:,:,1 ) )138 CALL iom_get( numbio, jpdom_data, 'DICBOT' , trc_data(:,:,2 ) )139 CALL iom_get( numbio, jpdom_data, 'NO3BOT' , trc_data(:,:,3 ) )140 CALL iom_get( numbio, jpdom_data, 'PO4BOT' , trc_data(:,:,4 ) )141 CALL iom_get( numbio, jpdom_data, 'O2BOT' , trc_data(:,:,5 ) )142 CALL iom_get( numbio, jpdom_data, 'SIBOT' , trc_data(:,:,6 ) )143 # if ! defined key_kriest144 CALL iom_get( numbio, jpdom_data, 'OPALFLXBOT' , trc_data(:,:,7 ) )145 CALL iom_get( numbio, jpdom_data, 'POCFLXBOT' , trc_data(:,:,8 ) )146 CALL iom_get( numbio, jpdom_data, 'GOCFLXBOT' , trc_data(:,:,9 ) )147 CALL iom_get( numbio, jpdom_data, 'CACO3FLXBOT', trc_data(:,:,10) )148 CALL iom_get( numoce, jpdom_data, 'TBOT' , trc_data(:,:,11) )149 CALL iom_get( numoce, jpdom_data, 'SBOT' , trc_data(:,:,12) )150 # else151 CALL iom_get( numbio, jpdom_data, 'OPALFLXBOT' , trc_data(:,:,7 ) )152 CALL iom_get( numbio, jpdom_data, 'POCFLXBOT' , trc_data(:,:,8 ) )153 CALL iom_get( numbio, jpdom_data, 'CACO3FLXBOT', trc_data(:,:,9 ) )154 CALL iom_get( numoce, jpdom_data, 'TBOT' , trc_data(:,:,10) )155 CALL iom_get( numoce, jpdom_data, 'SBOT' , trc_data(:,:,11) )156 # endif157 #endif158 159 142 ENDIF 160 143 ENDDO 161 144 ENDDO 162 163 145 146 #else 147 CALL iom_get( numbio, jpdom_data, 'ALKBOT' , trc_data(:,:,1 ) ) 148 CALL iom_get( numbio, jpdom_data, 'DICBOT' , trc_data(:,:,2 ) ) 149 CALL iom_get( numbio, jpdom_data, 'NO3BOT' , trc_data(:,:,3 ) ) 150 CALL iom_get( numbio, jpdom_data, 'PO4BOT' , trc_data(:,:,4 ) ) 151 CALL iom_get( numbio, jpdom_data, 'O2BOT' , trc_data(:,:,5 ) ) 152 CALL iom_get( numbio, jpdom_data, 'SIBOT' , trc_data(:,:,6 ) ) 153 # if ! defined key_kriest 154 CALL iom_get( numbio, jpdom_data, 'OPALFLXBOT' , trc_data(:,:,7 ) ) 155 CALL iom_get( numbio, jpdom_data, 'POCFLXBOT' , trc_data(:,:,8 ) ) 156 CALL iom_get( numbio, jpdom_data, 'GOCFLXBOT' , trc_data(:,:,9 ) ) 157 CALL iom_get( numbio, jpdom_data, 'CACO3FLXBOT', trc_data(:,:,10) ) 158 CALL iom_get( numoce, jpdom_data, 'TBOT' , trc_data(:,:,11) ) 159 CALL iom_get( numoce, jpdom_data, 'SBOT' , trc_data(:,:,12) ) 160 # else 161 CALL iom_get( numbio, jpdom_data, 'OPALFLXBOT' , trc_data(:,:,7 ) ) 162 CALL iom_get( numbio, jpdom_data, 'POCFLXBOT' , trc_data(:,:,8 ) ) 163 CALL iom_get( numbio, jpdom_data, 'CACO3FLXBOT', trc_data(:,:,9 ) ) 164 CALL iom_get( numoce, jpdom_data, 'TBOT' , trc_data(:,:,10) ) 165 CALL iom_get( numoce, jpdom_data, 'SBOT' , trc_data(:,:,11) ) 166 # endif 167 #endif 168 164 169 ! Pore water initial concentration [mol/l] in k=1 165 170 !------------------------------------------------- … … 256 261 IF( kt == nitsedend ) THEN 257 262 CALL iom_close ( numbio ) 263 #if defined key_sed_off 258 264 CALL iom_close ( numoce ) 265 #endif 259 266 ENDIF 260 267 -
trunk/NEMO/TOP_SRC/SED/sedini.F90
r1188 r1250 76 76 !!---------------------------------------------------------------------- 77 77 INTEGER :: ji, jj, ikt 78 CHARACTER (len=28) :: csedname 78 79 #if defined key_sed_off 79 INTEGER :: numblt = 3280 INTEGER :: nummsh = 4280 INTEGER :: numblt 81 INTEGER :: nummsh 81 82 REAL(wp) , DIMENSION(jpi,jpj) :: zdta 82 83 #endif … … 87 88 !--------------------------------------- 88 89 89 OPEN( UNIT = numsed, FILE = 'sediment.output', FORM = 'FORMATTED' ) 90 csedname = 'sediment.output' 91 CALL ctlopn( numsed, csedname, 'OLD', 'FORMATTED', 'SEQUENTIAL', 1, numout, .FALSE., 1 ) 90 92 91 93 WRITE(numsed,*) … … 403 405 numnamsed = 28 404 406 407 TYPE PSED 408 CHARACTER(len = 20) :: snamesed !: short name 409 CHARACTER(len = 80 ) :: lnamesed !: long name 410 CHARACTER(len = 20 ) :: unitsed !: unit 411 END TYPE PSED 412 413 TYPE(PSED) , DIMENSION(jpsol ) :: sedsol 414 TYPE(PSED) , DIMENSION(jpwat ) :: sedwat 415 TYPE(PSED) , DIMENSION(jpdia3dsed) :: seddiag3d 416 TYPE(PSED) , DIMENSION(jpdia2dsed) :: seddiag2d 405 417 406 418 NAMELIST/nam_time/nfreq 407 NAMELIST/nam_ dia3d/sedtrc3d,sedtrc3l,sedtrc3u408 NAMELIST/nam_dia 2d/sedtrc2d,sedtrc2l,sedtrc2u419 NAMELIST/nam_trased/sedsol, sedwat 420 NAMELIST/nam_diased/seddiag3d, seddiag2d 409 421 NAMELIST/nam_reac/sisat, claysat, rcopal, rcclay, dcoef 410 422 NAMELIST/nam_poc/redO2, redNo3, redPo4, redC, redDnit, & … … 415 427 NAMELIST/nam_rst/ln_rst_sed 416 428 417 INTEGER :: jn 429 INTEGER :: jn, jn1 418 430 419 431 !------------------------------------------------------- … … 458 470 WRITE(numsed,*) ' ' 459 471 460 READ( numnamsed, nam_dia3d ) 461 WRITE(numsed,*) ' namelist nam_dia3d' 472 REWIND( numnamsed ) ! read nattrc 473 READ ( numnamsed, nam_trased ) 474 475 DO jn = 1, jpsol 476 sedtrcd(jn) = sedsol(jn)%snamesed 477 sedtrcl(jn) = sedsol(jn)%lnamesed 478 sedtrcu(jn) = sedsol(jn)%unitsed 479 END DO 480 481 DO jn = 1, jpwat 482 jn1 = jn + jpsol 483 sedtrcd(jn1) = sedwat(jn)%snamesed 484 sedtrcl(jn1) = sedwat(jn)%lnamesed 485 sedtrcu(jn1) = sedwat(jn)%unitsed 486 END DO 487 488 WRITE(numsed,*) ' namelist nam_trased' 489 WRITE(numsed,*) ' ' 462 490 DO jn = 1, jptrased 463 WRITE(numsed,*) 'name of 3d output sediment field number :',jn,' : ',sedtrc3d(jn) 464 WRITE(numsed,*) sedtrc3l(jn) 465 WRITE(numsed,*) ' in unit = ', sedtrc3u(jn) 491 WRITE(numsed,*) 'name of 3d output sediment field number :',jn,' : ',TRIM(sedtrcd(jn)) 492 WRITE(numsed,*) 'long name ', TRIM(sedtrcl(jn)) 493 WRITE(numsed,*) ' in unit = ', TRIM(sedtrcu(jn)) 494 WRITE(numsed,*) ' ' 466 495 END DO 467 496 WRITE(numsed,*) ' ' 468 497 469 498 470 READ( numnamsed, nam_dia2d ) 471 WRITE(numsed,*) ' namelist nam_dia2d' 472 DO jn = 1, jpflxsed 473 WRITE(numsed,*) 'name of 2d output sediment field number :',jn,' : ',sedtrc2d(jn) 474 WRITE(numsed,*) sedtrc2l(jn) 475 WRITE(numsed,*) ' in unit = ',sedtrc2u(jn) 499 REWIND( numnamsed ) 500 READ( numnamsed, nam_diased ) 501 502 DO jn = 1, jpdia3dsed 503 seddia3d(jn) = seddiag3d(jn)%snamesed 504 seddia3l(jn) = seddiag3d(jn)%lnamesed 505 seddia3u(jn) = seddiag3d(jn)%unitsed 476 506 END DO 507 508 DO jn = 1, jpdia2dsed 509 seddia2d(jn) = seddiag2d(jn)%snamesed 510 seddia2l(jn) = seddiag2d(jn)%lnamesed 511 seddia2u(jn) = seddiag2d(jn)%unitsed 512 END DO 513 514 WRITE(numsed,*) ' namelist nam_diased' 515 WRITE(numsed,*) ' ' 516 DO jn = 1, jpdia3dsed 517 WRITE(numsed,*) 'name of 3D output diag number :',jn, ' : ', TRIM(seddia3d(jn)) 518 WRITE(numsed,*) 'long name ', TRIM(seddia3l(jn)) 519 WRITE(numsed,*) ' in unit = ',TRIM(seddia3u(jn)) 520 WRITE(numsed,*) ' ' 521 END DO 522 523 DO jn = 1, jpdia2dsed 524 WRITE(numsed,*) 'name of 2D output diag number :',jn, ' : ', TRIM(seddia2d(jn)) 525 WRITE(numsed,*) 'long name ', TRIM(seddia2l(jn)) 526 WRITE(numsed,*) ' in unit = ',TRIM(seddia2u(jn)) 527 WRITE(numsed,*) ' ' 528 END DO 529 477 530 WRITE(numsed,*) ' ' 478 531 … … 480 533 ! Diffraction/reaction parameters 481 534 !---------------------------------- 535 REWIND( numnamsed ) 482 536 READ( numnamsed, nam_reac ) 483 537 WRITE(numsed,*) ' namelist nam_reac' … … 502 556 ! Additional parameter linked to POC/O2/No3/Po4 503 557 !---------------------------------------------- 558 REWIND( numnamsed ) 504 559 READ( numnamsed, nam_poc ) 505 560 WRITE(numsed,*) ' namelist nam_poc' … … 667 722 WRITE(numsed,*)'(1=silicic acid,2="dissolved" clay,3=O2,4=DIC,5=Nitrate,& 668 723 &6=Phosphates,7=Alk))' 669 WRITE(numsed,*)'Psat ( µmol/l) for silicic Acid and "dissolved" clay'670 WRITE(numsed,'(2(F0.2,3X))') sat_sil , sat_clay724 WRITE(numsed,*)'Psat (umol/l) for silicic Acid and "dissolved" clay' 725 WRITE(numsed,'(2(F0.2,3X))') sat_sil * 1e+6, sat_clay * 1e+6 671 726 WRITE(numsed,*)'reaction rate rc for Op/si,Clay,POC/O2,caco3, POC/No3 (an-1)' 672 WRITE(numsed,'(5(F0.2,3X))') reac_sil, reac_clay, reac_poc, reac_cal, reac_no3 727 WRITE(numsed,'(5(F0.2,3X))') reac_sil * ryear, reac_clay * ryear, reac_poc * ryear, & 728 reac_cal * ryear, reac_no3 * ryear 673 729 WRITE(numsed,*)'redfield coef C,O,N P Dit ' 674 730 WRITE(numsed,'(5(F0.2,3X))')1./spo4r,so2ut/spo4r,srno3/spo4r,spo4r/spo4r,srDnit/spo4r … … 800 856 CONTAINS 801 857 SUBROUTINE sed_ini ! Empty routine 802 803 858 END SUBROUTINE sed_ini 804 859 #endif -
trunk/NEMO/TOP_SRC/SED/sedmat.F90
r1179 r1250 265 265 !! MODULE sedmat : Dummy module 266 266 !!====================================================================== 267 CONTAINS 268 SUBROUTINE sed_mat ! Empty routine 269 END SUBROUTINE sed_mat 270 !!====================================================================== 267 271 #endif 268 272 -
trunk/NEMO/TOP_SRC/SED/sedmbc.F90
r1179 r1250 72 72 73 73 REAL(wp) :: & 74 zdsw 74 zdsw, zvol 75 75 76 76 REAL, DIMENSION(jpsol) :: & … … 132 132 DO ji = 1, jpoce 133 133 ! input [mol] 134 diss_in_tot (jw) = diss_in_tot (jw) + pwcp_dta(ji,jw) & 135 & * 1.e-3 * dzkbot(ji) 134 diss_in_tot (jw) = diss_in_tot (jw) + pwcp_dta(ji,jw) * 1.e-3 * dzkbot(ji) 136 135 ! output [mol] 137 136 diss_out_tot(jw) = diss_out_tot(jw) + tokbot(ji,jw) … … 160 159 DO jk = 2, jpksed 161 160 DO ji = 1, jpoce 162 zsolcp_inv_i(js) = zsolcp_inv_i(js) + solcp0(ji,jk,js) * vols3d(ji,jk) * zdsw 163 zsolcp_inv_f(js) = zsolcp_inv_f(js) + solcp (ji,jk,js) * vols3d(ji,jk) * zdsw 161 zvol = vols3d(ji,jk) * zdsw 162 zsolcp_inv_i(js) = zsolcp_inv_i(js) + solcp0(ji,jk,js) * zvol 163 zsolcp_inv_f(js) = zsolcp_inv_f(js) + solcp (ji,jk,js) * zvol 164 164 ENDDO 165 165 END DO … … 170 170 DO jk = 2, jpksed 171 171 DO ji = 1, jpoce 172 zpwcp_inv_i(jw) = zpwcp_inv_i(jw) + pwcp0(ji,jk,jw) * volw3d(ji,jk) * 1.e-3 173 zpwcp_inv_f(jw) = zpwcp_inv_f(jw) + pwcp (ji,jk,jw) * volw3d(ji,jk) * 1.e-3 172 zvol = volw3d(ji,jk) * 1.e-3 173 zpwcp_inv_i(jw) = zpwcp_inv_i(jw) + pwcp0(ji,jk,jw) * zvol 174 zpwcp_inv_f(jw) = zpwcp_inv_f(jw) + pwcp (ji,jk,jw) * zvol 174 175 ENDDO 175 176 END DO … … 223 224 224 225 ! mass balance for DIC13 225 zinit = src13p * zsolcp_inv_i(jspoc) + src13Ca * zsolcp_inv_i(jscal)&226 & + zpwcp_inv_i (jwc13)227 zfinal = src13p * zsolcp_inv_f(jspoc) + src13Ca * zsolcp_inv_f(jscal)&228 & + zpwcp_inv_f (jwc13)229 zinput = src13p * rain_tot (jspoc) + src13Ca * rain_tot (jscal)&230 & + diss_in_tot (jwc13)231 zoutput = src13p * tosed_tot (jspoc) + src13Ca * tosed_tot (jscal)&232 & + diss_out_tot(jwc13) &233 & + src13p * rloss_tot (jspoc) + src13Ca * rloss_tot(jscal)226 zinit = zpwcp_inv_i(jwc13) & 227 & + src13p * zsolcp_inv_i(jspoc) + src13Ca * zsolcp_inv_i(jscal) 228 zfinal = zpwcp_inv_f(jwc13) & 229 & + src13p * zsolcp_inv_f(jspoc) + src13Ca * zsolcp_inv_f(jscal) 230 zinput = diss_in_tot (jwc13) & 231 & + src13p * rain_tot(jspoc) + src13Ca * rain_tot(jscal) 232 zoutput = diss_out_tot(jwc13) & 233 & + src13p * tosed_tot(jspoc) + src13Ca * tosed_tot(jscal) & 234 & + src13p * rloss_tot(jspoc) + src13Ca * rloss_tot(jscal) 234 235 zdelta_c13 = ( zfinal + zoutput ) - ( zinit + zinput ) 235 236 … … 331 332 WRITE(*,*) 'sed_mbc: You should not have seen this print! error?', kt 332 333 END SUBROUTINE sed_mbc 333 334 !!======================================================================335 336 334 #endif 337 335 END MODULE sedmbc -
trunk/NEMO/TOP_SRC/SED/sedmodel.F90
r1179 r1250 57 57 WRITE(*,*) 'sed_stp: You should not have seen this print! error?', kt 58 58 END SUBROUTINE sed_model 59 60 !!======================================================================61 59 #endif 62 60 -
trunk/NEMO/TOP_SRC/SED/sedrst.F90
r1179 r1250 19 19 !! * Accessibility 20 20 PUBLIC sed_rst_read 21 PUBLIC sed_rst_wri te21 PUBLIC sed_rst_wri 22 22 23 23 !! * Module variables … … 48 48 zdta 49 49 50 REAL(wp), DIMENSION(jpi,jpj,jpksed,2) :: & 51 zdta1 52 50 53 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: & 51 54 zhipor … … 65 68 CALL iom_get( numrsr, 'kt' , zkt ) ! time-step 66 69 67 DO jn = 1, jptrased - 168 cltra = sedtrc 3d(jn)70 DO jn = 1, jptrased 71 cltra = sedtrcd(jn) 69 72 CALL iom_get( numrsr, jpdom_unknown, cltra, zdta(:,:,:,jn), & 70 73 & kstart=(/1,1,1/), kcount=(/jpi,jpj,jpksed/) ) … … 107 110 & zdta(1:jpi,1:jpj,1:jpksed,11), iarroce(1:jpoce) ) 108 111 112 DO jn = 1, 2 113 cltra = seddia3d(jn) 114 CALL iom_get( numrsr, jpdom_unknown, cltra, zdta1(:,:,:,jn), & 115 & kstart=(/1,1,1/), kcount=(/jpi,jpj,jpksed/) ) 116 ENDDO 117 109 118 zhipor(:,:) = 0. 110 119 CALL pack_arr( jpoce, zhipor(1:jpoce,1:jpksed), & 111 & zdta (1:jpi,1:jpj,1:jpksed,12), iarroce(1:jpoce) )120 & zdta1(1:jpi,1:jpj,1:jpksed,1), iarroce(1:jpoce) ) 112 121 113 122 ! Initialization of [h+] in mol/kg … … 119 128 120 129 CALL pack_arr( jpoce, co3por(1:jpoce,1:jpksed), & 121 & zdta (1:jpi,1:jpj,1:jpksed,13), iarroce(1:jpoce) )130 & zdta1(1:jpi,1:jpj,1:jpksed,2), iarroce(1:jpoce) ) 122 131 123 132 ! Initialization of sediment composant only ie jk=2 to jk=jpksed … … 130 139 END SUBROUTINE sed_rst_read 131 140 132 133 SUBROUTINE sed_rst_write( kt ) 134 !!---------------------------------------------------------------------- 135 !! *** ROUTINE sed_rst_write *** 141 SUBROUTINE sed_rst_wri( kt ) 142 !!---------------------------------------------------------------------- 143 !! *** ROUTINE sed_rst_wri *** 136 144 !! 137 145 !! ** Purpose : save field which are necessary for sediment restart … … 183 191 IF( cexper(jc:jc) /= ' ') ic = jc 184 192 END DO 185 WRITE( cln,'("_",i 4.4,i2.2,i2.2,"_restart.sed")') nyear, nmonth, nday193 WRITE( cln,'("_",i5.5,i2.2,i2.2,"_restart.sed")') nyear, nmonth, nday 186 194 clname = cexper(1:ic)//cln 187 195 itime = 0 … … 235 243 ENDDO 236 244 ENDDO 237 CALL unpack_arr( jpoce, trcsedi(1:jpi,1:jpj,1:jpksed,12) , iarroce(1:jpoce), &245 CALL unpack_arr( jpoce, flxsedi3d(1:jpi,1:jpj,1:jpksed,1) , iarroce(1:jpoce), & 238 246 & zdta(1:jpoce,1:jpksed) ) 239 247 240 CALL unpack_arr( jpoce, trcsedi(1:jpi,1:jpj,1:jpksed,13) , iarroce(1:jpoce), &248 CALL unpack_arr( jpoce, flxsedi3d(1:jpi,1:jpj,1:jpksed,2) , iarroce(1:jpoce), & 241 249 & co3por(1:jpoce,1:jpksed) ) 242 250 … … 245 253 246 254 247 DO jn = 1, jptrased - 1248 cltra = sedtrc 3d(jn)255 DO jn = 1, jptrased 256 cltra = sedtrcd(jn) 249 257 CALL restput( numrsw, cltra, jpi, jpj, jpksed, 0, trcsedi(:,:,:,jn) ) 250 258 ENDDO 251 259 260 DO jn = 1, 2 261 cltra = seddia3d(jn) 262 CALL restput( numrsw, cltra, jpi, jpj, jpksed, 0, flxsedi3d(:,:,:,jn) ) 263 ENDDO 264 265 252 266 CALL restclo( numrsw ) 253 267 … … 256 270 DEALLOCATE( zdta ) 257 271 258 END SUBROUTINE sed_rst_wri te272 END SUBROUTINE sed_rst_wri 259 273 #else 260 274 !!====================================================================== 261 275 !! MODULE sedrst : Dummy module 262 276 !!====================================================================== 263 277 CONTAINS 278 SUBROUTINE sed_rst_read ! Empty routines 279 END SUBROUTINE sed_rst_read 280 SUBROUTINE sed_rst_wri( kt ) 281 INTEGER, INTENT ( in ) :: kt 282 WRITE(*,*) 'sed_rst_wri: You should not have seen this print! error?', kt 283 END SUBROUTINE sed_rst_wri 264 284 #endif 265 285 -
trunk/NEMO/TOP_SRC/SED/sedsfc.F90
r1179 r1250 73 73 SUBROUTINE sed_sfc ( kt ) 74 74 INTEGER, INTENT(in) :: kt 75 WRITE(*,*) 'sed_sfc: You should not have seen this print! error?', kt 75 76 END SUBROUTINE sed_sfc 76 77 #endif -
trunk/NEMO/TOP_SRC/SED/sedstp.F90
r1179 r1250 53 53 54 54 IF ( ( MOD( kt, nwrised ) == 0 ) .OR. ( MOD( kt, nstock ) == 0 ) .OR. ( kt == nitsedend ) ) & 55 CALL sed_co3( kt ) ! pH actualization for saving55 CALL sed_co3( kt ) ! pH actualization for saving 56 56 CALL sed_mbc( kt ) ! cumulation for mass balance calculation 57 57 #if ! defined key_sed_off … … 74 74 WRITE(*,*) 'sed_stp: You should not have seen this print! error?', kt 75 75 END SUBROUTINE sed_stp 76 77 !!======================================================================78 76 #endif 79 77 -
trunk/NEMO/TOP_SRC/SED/sedwri.F90
r1179 r1250 129 129 ENDDO 130 130 ENDDO 131 CALL unpack_arr( jpoce, trcsedi(1:jpi,1:jpj,1:jpksed,12) , iarroce(1:jpoce), &131 CALL unpack_arr( jpoce, flxsedi3d(1:jpi,1:jpj,1:jpksed,1) , iarroce(1:jpoce), & 132 132 & zdta(1:jpoce,1:jpksed) ) 133 133 134 CALL unpack_arr( jpoce, trcsedi(1:jpi,1:jpj,1:jpksed,13) , iarroce(1:jpoce), &134 CALL unpack_arr( jpoce, flxsedi3d(1:jpi,1:jpj,1:jpksed,2) , iarroce(1:jpoce), & 135 135 & co3por(1:jpoce,1:jpksed) ) 136 136 … … 144 144 ENDDO 145 145 ENDDO 146 CALL unpack_arr( jpoce, trcsedi(1:jpi,1:jpj,1:jpksed,14) , iarroce(1:jpoce), &146 CALL unpack_arr( jpoce, flxsedi3d(1:jpi,1:jpj,1:jpksed,3) , iarroce(1:jpoce), & 147 147 & zdta(1:jpoce,1:jpksed) ) 148 148 … … 164 164 ENDDO 165 165 166 CALL unpack_arr( jpoce, flxsedi (1:jpi,1:jpj,1), iarroce(1:jpoce), zflx(1:jpoce,1) )167 CALL unpack_arr( jpoce, flxsedi (1:jpi,1:jpj,2), iarroce(1:jpoce), zflx(1:jpoce,2) )168 CALL unpack_arr( jpoce, flxsedi (1:jpi,1:jpj,3), iarroce(1:jpoce), zflx(1:jpoce,3) )169 CALL unpack_arr( jpoce, flxsedi (1:jpi,1:jpj,4), iarroce(1:jpoce), zflx(1:jpoce,4) )170 CALL unpack_arr( jpoce, flxsedi (1:jpi,1:jpj,5), iarroce(1:jpoce), zflx(1:jpoce,5) )171 CALL unpack_arr( jpoce, flxsedi (1:jpi,1:jpj,6), iarroce(1:jpoce), zflx(1:jpoce,6) )172 CALL unpack_arr( jpoce, flxsedi (1:jpi,1:jpj,7), iarroce(1:jpoce), zflx(1:jpoce,8) )166 CALL unpack_arr( jpoce, flxsedi2d(1:jpi,1:jpj,1), iarroce(1:jpoce), zflx(1:jpoce,1) ) 167 CALL unpack_arr( jpoce, flxsedi2d(1:jpi,1:jpj,2), iarroce(1:jpoce), zflx(1:jpoce,2) ) 168 CALL unpack_arr( jpoce, flxsedi2d(1:jpi,1:jpj,3), iarroce(1:jpoce), zflx(1:jpoce,3) ) 169 CALL unpack_arr( jpoce, flxsedi2d(1:jpi,1:jpj,4), iarroce(1:jpoce), zflx(1:jpoce,4) ) 170 CALL unpack_arr( jpoce, flxsedi2d(1:jpi,1:jpj,5), iarroce(1:jpoce), zflx(1:jpoce,5) ) 171 CALL unpack_arr( jpoce, flxsedi2d(1:jpi,1:jpj,6), iarroce(1:jpoce), zflx(1:jpoce,6) ) 172 CALL unpack_arr( jpoce, flxsedi2d(1:jpi,1:jpj,7), iarroce(1:jpoce), zflx(1:jpoce,8) ) 173 173 174 174 … … 191 191 192 192 DO jn = 1, jptrased 193 cltra = sedtrc 3d(jn) ! short title for 3D diagnostic194 cltral = sedtrc 3l(jn) ! long title for 3D diagnostic195 cltrau = sedtrc 3u(jn) ! UNIT for 3D diagnostic193 cltra = sedtrcd(jn) ! short title for sediment variable 194 cltral = sedtrcl(jn) ! long title for sediment variable 195 cltrau = sedtrcu(jn) ! unit for sediment variable 196 196 197 197 CALL histdef( nised, cltra,cltral,cltrau, jpi, jpj, nhorised, & … … 199 199 ENDDO 200 200 201 ! 3D diagnostic 202 DO jn = 1, jpdia3dsed 203 cltra = seddia3d(jn) ! short title for 3D diagnostic 204 cltral = seddia3l(jn) ! long title for 3D diagnostic 205 cltrau = seddia3u(jn) ! UNIT for 3D diagnostic 206 207 CALL histdef( nised, cltra,cltral,cltrau, jpi, jpj, nhorised, & 208 & ipk, 1, ipk, ndepsed, 32, clop, zsto, zout ) 209 ENDDO 210 201 211 !Fluxes 202 DO jn = 1, jp flxsed203 cltra = sed trc2d(jn) ! short title for 3D diagnostic204 cltral = sed trc2l(jn) ! long title for 3D diagnostic205 cltrau = sed trc2u(jn) ! UNIT for 3D diagnostic212 DO jn = 1, jpdia2dsed 213 cltra = seddia2d(jn) ! short title for 2D diagnostic 214 cltral = seddia2l(jn) ! long title for 2D diagnostic 215 cltrau = seddia2u(jn) ! UNIT for 2D diagnostic 206 216 207 217 CALL histdef( nised, cltra,cltral,cltrau, jpi, jpj, nhorised, & … … 221 231 ! --------------------- 222 232 DO jn = 1, jptrased 223 cltra = sedtrc 3d(jn) ! short title for 3D diagnostic233 cltra = sedtrcd(jn) ! short title for 3D diagnostic 224 234 CALL histwrite( nised, cltra, it, trcsedi(:,:,:,jn), ndimt52, ndext52 ) 225 235 END DO 226 236 227 DO jn = 1, jpflxsed 228 cltra = sedtrc2d(jn) ! short title for 2D diagnostic 229 CALL histwrite( nised, cltra, it, flxsedi(:,:,jn ), ndimt51, ndext51 ) 237 DO jn = 1, jpdia3dsed 238 cltra = seddia3d(jn) ! short title for 3D diagnostic 239 CALL histwrite( nised, cltra, it, flxsedi3d(:,:,:,jn), ndimt52, ndext52 ) 240 END DO 241 242 DO jn = 1, jpdia2dsed 243 cltra = seddia2d(jn) ! short title for 2D diagnostic 244 CALL histwrite( nised, cltra, it, flxsedi2d(:,:,jn ), ndimt51, ndext51 ) 230 245 END DO 231 246 … … 253 268 #else 254 269 !!====================================================================== 255 !! MODULE sedwri : Dummy module 256 !!====================================================================== 257 270 !! MODULE sedwri : Dummy module 271 !!====================================================================== 272 CONTAINS 273 SUBROUTINE sed_wri( kt ) ! Empty routine 274 INTEGER, INTENT(in) :: kt 275 WRITE(*,*) 'sed_adv: You should not have seen this print! error?', kt 276 END SUBROUTINE sed_wri 277 278 !!====================================================================== 258 279 #endif 259 280
Note: See TracChangeset
for help on using the changeset viewer.