Changeset 516
- Timestamp:
- 2006-10-05T17:53:31+02:00 (18 years ago)
- Location:
- trunk/NEMO
- Files:
-
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/C1D_SRC/step1d.F90
r474 r516 163 163 CALL prt_ctl(tab3d_1=tn , clinfo1=' sst - : ', mask1=tmask, ovlap=1, kdim=1) 164 164 CALL prt_ctl(tab3d_1=sn , clinfo1=' sss - : ', mask1=tmask, ovlap=1, kdim=1) 165 CALL prt_ctl(tab2d_1=taux , clinfo1=' tau - x : ', tab2d_2=tauy, clinfo2=' - y : ', ovlap=1) 165 CALL prt_ctl(tab2d_1=taux , clinfo1=' tau - x : ', mask1=umask, & 166 & tab2d_2=tauy , clinfo2=' - y : ', mask2=vmask, ovlap=1) 166 167 ENDIF 167 168 -
trunk/NEMO/OPA_SRC/DOM/domain.F90
r392 r516 142 142 NAMELIST/namrun/ no , cexper , ln_rstart , nrstdt , nit000, & 143 143 & nitend, ndate0 , nleapy , ninist , nstock, & 144 & nprint, nwrite , nrunoff , ln_ctl , nictls, nictle, & 145 & njctls, njctle , nbench , isplt , jsplt 144 & nwrite, nrunoff 146 145 147 146 NAMELIST/namdom/ ntopo , e3zps_min, e3zps_rat, ngrid , nmsh , & … … 172 171 WRITE(numout,*) ' leap year calendar (0/1) nleapy = ', nleapy 173 172 WRITE(numout,*) ' initial state output ninist = ', ninist 174 WRITE(numout,*) ' level of print nprint = ', nprint175 173 WRITE(numout,*) ' frequency of restart file nstock = ', nstock 176 174 WRITE(numout,*) ' frequency of output file nwrite = ', nwrite 177 175 WRITE(numout,*) ' runoff option nrunoff = ', nrunoff 178 WRITE(numout,*) ' run control (for debugging) ln_ctl = ', ln_ctl179 WRITE(numout,*) ' Start i indice for SUM control nictls = ', nictls180 WRITE(numout,*) ' End i indice for SUM control nictle = ', nictle181 WRITE(numout,*) ' Start j indice for SUM control njctls = ', njctls182 WRITE(numout,*) ' End j indice for SUM control njctle = ', njctle183 WRITE(numout,*) ' number of proc. following i isplt = ', isplt184 WRITE(numout,*) ' number of proc. following j jsplt = ', jsplt185 WRITE(numout,*) ' benchmark parameter (0/1) nbench = ', nbench186 176 ENDIF 187 177 -
trunk/NEMO/OPA_SRC/DOM/domhgr.F90
r473 r516 365 365 gphi0 = zphi1 + zsin_alpha * ze1deg * FLOAT( jpjglo-2 ) 366 366 367 IF(lwp) WRITE(numout,*) 'ze1', ze1, 'cosalpha', zcos_alpha, 'sinalpha', zsin_alpha 368 IF(lwp) WRITE(numout,*) 'ze1deg', ze1deg, 'glam0', glam0, 'gphi0', gphi0 367 IF( nprint==1 .AND. lwp ) THEN 368 WRITE(numout,*) ' ze1', ze1, 'cosalpha', zcos_alpha, 'sinalpha', zsin_alpha 369 WRITE(numout,*) ' ze1deg', ze1deg, 'glam0', glam0, 'gphi0', gphi0 370 ENDIF 369 371 370 372 DO jj = 1, jpj … … 404 406 ! ---------------- 405 407 406 IF( lwp .AND. .NOT.ln_rstart ) THEN408 IF( lwp .AND. .NOT.ln_rstart ) THEN 407 409 WRITE(numout,*) 408 410 WRITE(numout,*) ' longitude and e1 scale factors' … … 468 470 ff(:,:) = ( zf0 + zbeta * gphif(:,:) * 1.e+3 ) ! f = f0 +beta* y ( y=0 at south) 469 471 470 IF(lwp) WRITE(numout,*) 471 IF(lwp) WRITE(numout,*) ' Beta-plane: Beta parameter = constant = ', ff(nldi,nldj) 472 IF(lwp) WRITE(numout,*) ' Coriolis parameter varies from ', ff(nldi,nldj),' to ', ff(nldi,nlej) 472 IF(lwp) THEN 473 WRITE(numout,*) 474 WRITE(numout,*) ' Beta-plane: Beta parameter = constant = ', ff(nldi,nldj) 475 WRITE(numout,*) ' Coriolis parameter varies from ', ff(nldi,nldj),' to ', ff(nldi,nlej) 476 ENDIF 473 477 IF( lk_mpp ) THEN 474 478 zminff=ff(nldi,nldj) … … 476 480 CALL mpp_min( zminff ) ! min over the global domain 477 481 CALL mpp_max( zmaxff ) ! max over the global domain 478 IF(lwp) WRITE(numout,*) ' Coriolis parameter varies globally from ', zminff,' to ', zmaxff482 IF(lwp) WRITE(numout,*) ' Coriolis parameter varies globally from ', zminff,' to ', zmaxff 479 483 END IF 480 484 … … 487 491 ff(:,:) = ( zf0 + zbeta * ABS( gphif(:,:) - zphi0 ) * rad * ra ) ! f = f0 +beta* y ( y=0 at south) 488 492 489 IF(lwp) WRITE(numout,*) ' Beta-plane and rotated domain : ' 490 IF(lwp) WRITE(numout,*) ' Coriolis parameter varies in this processor from ', ff(nldi,nldj),' to ', ff(nldi,nlej) 493 IF(lwp) THEN 494 WRITE(numout,*) 495 WRITE(numout,*) ' Beta-plane and rotated domain : ' 496 WRITE(numout,*) ' Coriolis parameter varies in this processor from ', ff(nldi,nldj),' to ', ff(nldi,nlej) 497 ENDIF 498 491 499 IF( lk_mpp ) THEN 492 500 zminff=ff(nldi,nldj) … … 494 502 CALL mpp_min( zminff ) ! min over the global domain 495 503 CALL mpp_max( zmaxff ) ! max over the global domain 496 IF(lwp) WRITE(numout,*) ' Coriolis parameter varies globally from ', zminff,' to ', zmaxff504 IF(lwp) WRITE(numout,*) ' Coriolis parameter varies globally from ', zminff,' to ', zmaxff 497 505 END IF 498 506 -
trunk/NEMO/OPA_SRC/DOM/domzgr.F90
r473 r516 100 100 ENDIF 101 101 102 103 102 ! Build the vertical coordinate system 104 103 ! ------------------------------------ … … 115 114 116 115 !!bug gm control print: 117 write(numout,*) ' MIN val mbathy ', MINVAL( mbathy(:,:) ), ' MAX ', MAXVAL( mbathy(:,:) ) 118 write(numout,*) ' MIN val depth t ', MINVAL( fsdept(:,:,:) ), & 119 & ' w ', MINVAL( fsdepw(:,:,:) ), '3w ', MINVAL( fsde3w(:,:,:) ) 120 write(numout,*) ' MIN val e3 t ', MINVAL( fse3t(:,:,:) ), ' f ', MINVAL( fse3f(:,:,:) ), & 121 & ' u ', MINVAL( fse3u(:,:,:) ), ' u ', MINVAL( fse3v(:,:,:) ), & 122 & ' uw', MINVAL( fse3uw(:,:,:)), ' vw', MINVAL( fse3vw(:,:,:)), & 123 & ' w ', MINVAL( fse3w(:,:,:) ) 124 125 write(numout,*) ' MAX val depth t ', MAXVAL( fsdept(:,:,:) ), & 126 & ' w ', MAXVAL( fsdepw(:,:,:) ), '3w ', MAXVAL( fsde3w(:,:,:) ) 127 write(numout,*) ' MAX val e3 t ', MAXVAL( fse3t(:,:,:) ), ' f ', MAXVAL( fse3f(:,:,:) ), & 128 & ' u ', MAXVAL( fse3u(:,:,:) ), ' u ', MAXVAL( fse3v(:,:,:) ), & 129 & ' uw', MAXVAL( fse3uw(:,:,:)), ' vw', MAXVAL( fse3vw(:,:,:)), & 130 & ' w ', MAXVAL( fse3w(:,:,:) ) 116 IF( nprint == 1 .AND. lwp ) THEN 117 WRITE(numout,*) ' MIN val mbathy ', MINVAL( mbathy(:,:) ), ' MAX ', MAXVAL( mbathy(:,:) ) 118 WRITE(numout,*) ' MIN val depth t ', MINVAL( fsdept(:,:,:) ), & 119 & ' w ', MINVAL( fsdepw(:,:,:) ), '3w ', MINVAL( fsde3w(:,:,:) ) 120 WRITE(numout,*) ' MIN val e3 t ', MINVAL( fse3t(:,:,:) ), ' f ', MINVAL( fse3f(:,:,:) ), & 121 & ' u ', MINVAL( fse3u(:,:,:) ), ' u ', MINVAL( fse3v(:,:,:) ), & 122 & ' uw', MINVAL( fse3uw(:,:,:)), ' vw', MINVAL( fse3vw(:,:,:)), & 123 & ' w ', MINVAL( fse3w(:,:,:) ) 124 125 WRITE(numout,*) ' MAX val depth t ', MAXVAL( fsdept(:,:,:) ), & 126 & ' w ', MAXVAL( fsdepw(:,:,:) ), '3w ', MAXVAL( fsde3w(:,:,:) ) 127 WRITE(numout,*) ' MAX val e3 t ', MAXVAL( fse3t(:,:,:) ), ' f ', MAXVAL( fse3f(:,:,:) ), & 128 & ' u ', MAXVAL( fse3u(:,:,:) ), ' u ', MAXVAL( fse3v(:,:,:) ), & 129 & ' uw', MAXVAL( fse3uw(:,:,:)), ' vw', MAXVAL( fse3vw(:,:,:)), & 130 & ' w ', MAXVAL( fse3w(:,:,:) ) 131 ENDIF 131 132 !!!bug gm 132 133 … … 421 422 ! ! =============== ! 422 423 423 CALL iom_open ( 'bathy_level.nc', inum ) ! Level bathymetry424 IF ( inum > 0 ) THEN424 IF( ln_zco ) THEN 425 CALL iom_open ( 'bathy_level.nc', inum ) ! Level bathymetry 425 426 CALL iom_get ( inum, jpdom_data, 'Bathy_level', bathy ) 426 427 CALL iom_close (inum) 427 428 mbathy(:,:) = INT( bathy(:,:) ) 428 ELSE429 IF( ln_zco ) THEN430 CALL ctl_stop( ' zgr_bat : unable to read the file ' )431 ELSE432 IF(lwp) WRITE(numout,*)' zgr_bat : bathy_level will be computed from bathy_meter'433 nstop = nstop - 1 ! supress the error count for opening 'bathy_level.nc'434 mbathy(:,:) = jpkm1435 ENDIF436 429 ENDIF 437 430 438 CALL iom_open ( 'bathy_meter.nc', inum ) ! meter bathymetry439 IF ( inum > 0 ) THEN431 IF( ln_zps .OR. ln_sco ) THEN 432 CALL iom_open ( 'bathy_meter.nc', inum ) ! meter bathymetry 440 433 CALL iom_get ( inum, jpdom_data, 'Bathymetry', bathy ) 441 434 CALL iom_close (inum) 442 ELSE443 IF( ln_zps .OR. ln_sco ) THEN444 CALL ctl_stop( ' zgr_bat : unable to read the file ' )445 ELSE446 bathy(:,:) = 0.e0 ! initialisation447 nstop = nstop - 1 ! supress the error count for opening 'bathy_level.nc'448 IF(lwp) WRITE(numout,*)' zgr_bat : bathy_meter not found, but not used, bathy array set to zero'449 ENDIF450 435 ENDIF 451 436 ! ! =============== ! … … 969 954 zrmax = EXP( -(gphit(10,jj)/8)**2 ) 970 955 ztaper = EXP( -(FLOAT(jj-74)/10.)**2 ) 971 write(numout,*) jj, (FLOAT(jj-74)/10.), ztaper,(gphit(10,jj)/8), zrmax 972 END DO 973 974 write(numout,*) ' bathy MAX ', MAXVAL( bathy(:,:) ), ' MIN ', MINVAL( bathy(:,:) ) 975 write(numout,*) ' hbatt MAX ', MAXVAL( hbatt(:,:) ), ' MIN ', MINVAL( hbatt(:,:) ) 956 IF( nprint == 1 .AND. lwp ) WRITE(numout,*) jj, (FLOAT(jj-74)/10.), ztaper,(gphit(10,jj)/8), zrmax 957 END DO 958 959 IF( nprint == 1 .AND. lwp ) THEN 960 WRITE(numout,*) ' bathy MAX ', MAXVAL( bathy(:,:) ), ' MIN ', MINVAL( bathy(:,:) ) 961 WRITE(numout,*) ' hbatt MAX ', MAXVAL( hbatt(:,:) ), ' MIN ', MINVAL( hbatt(:,:) ) 962 ENDIF 976 963 977 964 ! Control print … … 1048 1035 hiff(:,:) = MIN( hiff(:,:), hbatf(:,:) ) 1049 1036 1050 write(numout,*) ' MAX val hif t ', MAXVAL( hift(:,:) ), ' f ', MAXVAL( hiff(:,:) ), & 1051 & ' u ', MAXVAL( hifu(:,:) ), ' v ', MAXVAL( hifv(:,:) ) 1052 write(numout,*) ' MIN val hif t ', MINVAL( hift(:,:) ), ' f ', MINVAL( hiff(:,:) ), & 1053 & ' u ', MINVAL( hifu(:,:) ), ' v ', MINVAL( hifv(:,:) ) 1054 write(numout,*) ' MAX val hbat t ', MAXVAL( hbatt(:,:) ), ' f ', MAXVAL( hbatf(:,:) ), & 1055 & ' u ', MAXVAL( hbatu(:,:) ), ' v ', MAXVAL( hbatv(:,:) ) 1056 write(numout,*) ' MIN val hbat t ', MINVAL( hbatt(:,:) ), ' f ', MINVAL( hbatf(:,:) ), & 1057 & ' u ', MINVAL( hbatu(:,:) ), ' v ', MINVAL( hbatv(:,:) ) 1037 IF( nprint == 1 .AND. lwp ) THEN 1038 WRITE(numout,*) ' MAX val hif t ', MAXVAL( hift(:,:) ), ' f ', MAXVAL( hiff(:,:) ), & 1039 & ' u ', MAXVAL( hifu(:,:) ), ' v ', MAXVAL( hifv(:,:) ) 1040 WRITE(numout,*) ' MIN val hif t ', MINVAL( hift(:,:) ), ' f ', MINVAL( hiff(:,:) ), & 1041 & ' u ', MINVAL( hifu(:,:) ), ' v ', MINVAL( hifv(:,:) ) 1042 WRITE(numout,*) ' MAX val hbat t ', MAXVAL( hbatt(:,:) ), ' f ', MAXVAL( hbatf(:,:) ), & 1043 & ' u ', MAXVAL( hbatu(:,:) ), ' v ', MAXVAL( hbatv(:,:) ) 1044 WRITE(numout,*) ' MIN val hbat t ', MINVAL( hbatt(:,:) ), ' f ', MINVAL( hbatf(:,:) ), & 1045 & ' u ', MINVAL( hbatu(:,:) ), ' v ', MINVAL( hbatv(:,:) ) 1046 ENDIF 1058 1047 !! helsinki 1059 1048 … … 1069 1058 END DO 1070 1059 1071 write(numout,*) 'gsigw 1 jpk ', gsigw(1), gsigw(jpk)1060 IF( nprint == 1 .AND. lwp ) WRITE(numout,*) 'gsigw 1 jpk ', gsigw(1), gsigw(jpk) 1072 1061 1073 1062 !!org DO jk = 1, jpk … … 1140 1129 END DO 1141 1130 1142 write(numout,*) ' MIN val mbathy h90 ', MINVAL( mbathy(:,:) ), ' MAX ', MAXVAL( mbathy(:,:) )1131 IF( nprint == 1 .AND. lwp ) WRITE(numout,*) ' MIN val mbathy h90 ', MINVAL( mbathy(:,:) ), ' MAX ', MAXVAL( mbathy(:,:) ) 1143 1132 1144 1133 -
trunk/NEMO/OPA_SRC/ZDF/zdfbfr.F90
r474 r516 171 171 CALL lbc_lnk( avmv, 'V', 1. ) 172 172 173 IF(ln_ctl) THEN 174 CALL prt_ctl(tab3d_1=avmu, clinfo1=' bfr - u: ', tab3d_2=avmv, clinfo2=' v: ', ovlap=1, kdim=jpk) 173 IF(ln_ctl) THEN 174 CALL prt_ctl(tab3d_1=avmu, clinfo1=' bfr - u: ', mask1=umask, & 175 & tab3d_2=avmv, clinfo2= ' v: ', mask2=vmask,ovlap=1, kdim=jpk) 175 176 ENDIF 176 177 -
trunk/NEMO/OPA_SRC/ZDF/zdfddm.F90
r258 r516 204 204 IF(ln_ctl) THEN 205 205 CALL prt_ctl(tab3d_1=avt , clinfo1=' ddm - t: ', tab3d_2=avs , clinfo2=' s: ', ovlap=1, kdim=jpk) 206 CALL prt_ctl(tab3d_1=avmu, clinfo1=' ddm - u: ', tab3d_2=avmv, clinfo2=' v: ', ovlap=1, kdim=jpk) 206 CALL prt_ctl(tab3d_1=avmu, clinfo1=' ddm - u: ', mask1=umask, & 207 & tab3d_2=avmv, clinfo2= ' v: ', mask2=vmask, ovlap=1, kdim=jpk) 207 208 ENDIF 208 209 -
trunk/NEMO/OPA_SRC/ZDF/zdfkpp.F90
r503 r516 1231 1231 IF(ln_ctl) THEN 1232 1232 #if defined key_zdfddm 1233 CALL prt_ctl(tab3d_1=avt , clinfo1=' kpp 1233 CALL prt_ctl(tab3d_1=avt , clinfo1=' kpp - t: ', tab3d_2=avs , clinfo2=' s: ', ovlap=1, kdim=jpk) 1234 1234 #else 1235 CALL prt_ctl(tab3d_1=avt , clinfo1=' kpp - t: ', ovlap=1, kdim=jpk) 1236 #endif 1237 CALL prt_ctl(tab3d_1=avmu, clinfo1=' u: ', tab3d_2=avmv , clinfo2=' v: ', ovlap=1, kdim=jpk) 1235 CALL prt_ctl(tab3d_1=avt , clinfo1=' kpp - t: ', ovlap=1, kdim=jpk) 1236 #endif 1237 CALL prt_ctl(tab3d_1=avmu, clinfo1=' kpp - u: ', mask1=umask, & 1238 & tab3d_2=avmv, clinfo2= ' v: ', mask2=vmask, ovlap=1, kdim=jpk) 1238 1239 ENDIF 1239 1240 -
trunk/NEMO/OPA_SRC/ZDF/zdftke.F90
r508 r516 594 594 IF(ln_ctl) THEN 595 595 CALL prt_ctl(tab3d_1=en , clinfo1=' tke - e: ', tab3d_2=avt , clinfo2=' t: ', ovlap=1, kdim=jpk) 596 CALL prt_ctl(tab3d_1=avmu, clinfo1=' tke - u: ', tab3d_2=avmv, clinfo2=' v: ', ovlap=1, kdim=jpk) 596 CALL prt_ctl(tab3d_1=avmu, clinfo1=' tke - u: ', mask1=umask, & 597 & tab3d_2=avmv, clinfo2= ' v: ', mask2=vmask, ovlap=1, kdim=jpk) 597 598 ENDIF 598 599 -
trunk/NEMO/OPA_SRC/ZDF/zdftke_jki.F90
r508 r516 526 526 IF(ln_ctl) THEN 527 527 CALL prt_ctl(tab3d_1=en , clinfo1=' tke - e: ', tab3d_2=avt , clinfo2=' t: ', ovlap=1, kdim=jpk) 528 CALL prt_ctl(tab3d_1=avmu, clinfo1=' tke - u: ', tab3d_2=avmv, clinfo2=' v: ', ovlap=1, kdim=jpk) 528 CALL prt_ctl(tab3d_1=avmu, clinfo1=' tke - u: ', mask1=umask, & 529 & tab3d_2=avmv, clinfo2= ' v: ', mask2=vmask,ovlap=1, kdim=jpk) 529 530 ENDIF 530 531 -
trunk/NEMO/OPA_SRC/daymod.F90
r258 r516 157 157 IF(ln_ctl) THEN 158 158 WRITE(charout,FMT="('kt =', I4,' d/m/y =',I2,I2,I4)") kt, nday, nmonth, nyear 159 CALL prt_ctl_info(charout )159 CALL prt_ctl_info(charout, itime=kt) 160 160 ENDIF 161 161 -
trunk/NEMO/OPA_SRC/mppini.F90
r474 r516 193 193 WRITE(numout,*) ' defines mpp subdomains' 194 194 WRITE(numout,*) ' ----------------------' 195 WRITE(numout,*) ' 196 WRITE(numout,*) ' jpni=',jpni,' jpnj=',jpnj195 WRITE(numout,*) ' iresti=',iresti,' irestj=',irestj 196 WRITE(numout,*) ' jpni =',jpni ,' jpnj =',jpnj 197 197 ifreq = 4 198 198 il1 = 1 … … 200 200 il2 = MIN( jpni, il1+ifreq-1 ) 201 201 WRITE(numout,*) 202 WRITE(numout,9201) (ji,ji = il1,il2)203 202 WRITE(numout,9200) ('***',ji = il1,il2-1) 204 DO jj = 1, jpnj203 DO jj = jpnj, 1, -1 205 204 WRITE(numout,9203) (' ',ji = il1,il2-1) 206 205 WRITE(numout,9202) jj, ( ilcit(ji,jj),ilcjt(ji,jj),ji = il1,il2 ) … … 208 207 WRITE(numout,9200) ('***',ji = il1,il2-1) 209 208 END DO 209 WRITE(numout,9201) (ji,ji = il1,il2) 210 210 il1 = il1+ifreq 211 211 END DO … … 536 536 537 537 IF(lwp) THEN 538 WRITE(numout,*) 538 539 WRITE(numout,*) 'mpp_init_ioipsl : iloc = ', iloc (1), iloc (2) 539 540 WRITE(numout,*) '~~~~~~~~~~~~~~~ iabsf = ', iabsf(1), iabsf(2) -
trunk/NEMO/OPA_SRC/opa.F90
r508 r516 166 166 CHARACTER (len=20) :: namelistname 167 167 CHARACTER (len=28) :: file_out 168 NAMELIST/namctl/ ln_ctl, nprint, nictls, nictle, & 169 & isplt , jsplt , njctls, njctle, nbench 168 170 !!---------------------------------------------------------------------- 169 171 … … 178 180 & 'SEQUENTIAL', 1, numout, .FALSE., 1 ) 179 181 ENDIF 180 181 namelistname = 'namelist'182 CALL ctlopn( numnam, namelistname, 'OLD', 'FORMATTED', 'SEQUENTIAL', &183 & 1, numout, .FALSE., 1 )184 182 185 183 WRITE(numout,*) … … 191 189 WRITE(numout,*) 192 190 191 namelistname = 'namelist' 192 CALL ctlopn( numnam, namelistname, 'OLD', 'FORMATTED', 'SEQUENTIAL', & 193 & 1, numout, .FALSE., 1 ) 194 195 ! Namelist namctl : Control prints & Benchmark 196 REWIND( numnam ) 197 READ ( numnam, namctl ) 198 193 199 ! Nodes selection 194 200 narea = mynode() … … 196 202 lwp = narea == 1 197 203 198 IF( lk_mpp ) THEN 199 CLOSE( numout ) ! standard model output file 200 WRITE(file_out,FMT="('ocean.output_',I4.4)") narea-1 201 IF ( numout /= 0 .AND. numout /= 6 ) THEN 202 CALL ctlopn( numout, file_out, 'UNKNOWN', 'FORMATTED', & 203 & 'SEQUENTIAL', 1, numout, .FALSE., 1 ) 204 ! open additionnal listing 205 IF( ln_ctl ) THEN 206 IF( narea-1 > 0 ) THEN 207 WRITE(file_out,FMT="('ocean.output_',I4.4)") narea-1 208 IF( numout /= 0 .AND. numout /= 6 ) THEN 209 CALL ctlopn( numout, file_out, 'UNKNOWN', 'FORMATTED', & 210 & 'SEQUENTIAL', 1, numout, .FALSE., 1 ) 211 ENDIF 212 lwp = .TRUE. 213 ! 214 WRITE(numout,*) 215 WRITE(numout,*) ' L O D Y C - I P S L' 216 WRITE(numout,*) ' O P A model' 217 WRITE(numout,*) ' Ocean General Circulation Model' 218 WRITE(numout,*) ' version OPA 9.0 (2005) ' 219 WRITE(numout,*) ' MPI Ocean output ' 220 WRITE(numout,*) 221 WRITE(numout,*) 204 222 ENDIF 205 !206 WRITE(numout,*)207 WRITE(numout,*) ' L O D Y C - I P S L'208 WRITE(numout,*) ' O P A model'209 WRITE(numout,*) ' Ocean General Circulation Model'210 WRITE(numout,*) ' version OPA 9.0 (2005) '211 WRITE(numout,*) ' MPI Ocean output '212 WRITE(numout,*)213 WRITE(numout,*)214 223 ENDIF 215 224 … … 220 229 IF(lwp) WRITE(numout,cform_aaa) ! Flag AAAAAAA 221 230 231 IF(lwp) THEN 232 WRITE(numout,*) 233 WRITE(numout,*) 'opa_init: Control prints & Benchmark' 234 WRITE(numout,*) '~~~~~~~~ ' 235 WRITE(numout,*) ' Namelist namctl' 236 WRITE(numout,*) ' run control (for debugging) ln_ctl = ', ln_ctl 237 WRITE(numout,*) ' level of print nprint = ', nprint 238 WRITE(numout,*) ' Start i indice for SUM control nictls = ', nictls 239 WRITE(numout,*) ' End i indice for SUM control nictle = ', nictle 240 WRITE(numout,*) ' Start j indice for SUM control njctls = ', njctls 241 WRITE(numout,*) ' End j indice for SUM control njctle = ', njctle 242 WRITE(numout,*) ' number of proc. following i isplt = ', isplt 243 WRITE(numout,*) ' number of proc. following j jsplt = ', jsplt 244 WRITE(numout,*) ' benchmark parameter (0/1) nbench = ', nbench 245 ENDIF 222 246 ! Domain decomposition 223 247 IF( jpni*jpnj == jpnij ) THEN -
trunk/NEMO/OPA_SRC/prtctl.F90
r473 r516 22 22 t_ctll , s_ctll , & !: previous trend values 23 23 u_ctll , v_ctll 24 25 INTEGER :: ktime !: time step 24 26 25 27 !! * Routine accessibility … … 79 81 REAL(wp), DIMENSION(:,:,:), INTENT(in), OPTIONAL :: tab3d_1 80 82 REAL(wp), DIMENSION(:,:,:), INTENT(in), OPTIONAL :: mask1 81 CHARACTER (len=*) , INTENT(in), OPTIONAL :: clinfo183 CHARACTER (len=*) , INTENT(in), OPTIONAL :: clinfo1 82 84 REAL(wp), DIMENSION(:,:) , INTENT(in), OPTIONAL :: tab2d_2 83 85 REAL(wp), DIMENSION(:,:,:), INTENT(in), OPTIONAL :: tab3d_2 84 86 REAL(wp), DIMENSION(:,:,:), INTENT(in), OPTIONAL :: mask2 85 CHARACTER (len=*) , INTENT(in), OPTIONAL :: clinfo286 INTEGER , INTENT(in), OPTIONAL :: ovlap87 INTEGER , INTENT(in), OPTIONAL :: kdim88 CHARACTER (len=*) , INTENT(in), OPTIONAL :: clinfo387 CHARACTER (len=*) , INTENT(in), OPTIONAL :: clinfo2 88 INTEGER , INTENT(in), OPTIONAL :: ovlap 89 INTEGER , INTENT(in), OPTIONAL :: kdim 90 CHARACTER (len=*) , INTENT(in), OPTIONAL :: clinfo3 89 91 90 92 !! * Local declarations … … 135 137 DO jn = sind, eind 136 138 137 numid = 90 139 numid = 90 + jn 138 140 139 141 ! Set indices for the SUM control … … 184 186 185 187 ! Print the result 186 IF( PRESENT(clinfo 2) .OR. PRESENT(tab2d_2) .OR. PRESENT(tab3d_2) ) THEN188 IF( PRESENT(clinfo3) ) THEN 187 189 WRITE(numid,FMT='(a,D23.16,3x,a,D23.16)')clinfo1, zsum1-zvctl1, cl2, zsum2-zvctl2 188 IF( clinfo3 == 'tra-ta' ) THEN189 t_ctll(jn) = zsum1190 ENDIF191 IF( clinfo3 == 'tra' ) THEN190 SELECT CASE( clinfo3 ) 191 CASE ( 'tra-ta' ) 192 t_ctll(jn) = zsum1 193 CASE ( 'tra' ) 192 194 t_ctll(jn) = zsum1 193 195 s_ctll(jn) = zsum2 194 ENDIF 195 IF( clinfo3 == 'dyn' ) THEN 196 CASE ( 'dyn' ) 196 197 u_ctll(jn) = zsum1 197 198 v_ctll(jn) = zsum2 198 ENDIF 199 END SELECT 200 ELSEIF ( PRESENT(clinfo2) .OR. PRESENT(tab2d_2) .OR. PRESENT(tab3d_2) ) THEN 201 WRITE(numid,FMT='(a,D23.16,3x,a,D23.16)')clinfo1, zsum1, cl2, zsum2 199 202 ELSE 200 203 WRITE(numid,FMT='(a,D23.16)')clinfo1, zsum1 … … 206 209 207 210 208 SUBROUTINE prt_ctl_info (clinfo1, ivar1, clinfo2, ivar2 )211 SUBROUTINE prt_ctl_info (clinfo1, ivar1, clinfo2, ivar2, itime) 209 212 !!---------------------------------------------------------------------- 210 213 !! *** ROUTINE prt_ctl_info *** … … 223 226 !! * Arguments 224 227 CHARACTER (len=*), INTENT(in) :: clinfo1 225 INTEGER , INTENT(in), OPTIONAL :: ivar1228 INTEGER , INTENT(in), OPTIONAL :: ivar1 226 229 CHARACTER (len=*), INTENT(in), OPTIONAL :: clinfo2 227 INTEGER, INTENT(in), OPTIONAL :: ivar2 230 INTEGER , INTENT(in), OPTIONAL :: ivar2 231 INTEGER , INTENT(in), OPTIONAL :: itime 228 232 229 233 !! * Local declarations 230 INTEGER :: numid, jn, sind, eind 234 INTEGER :: numid, jn, sind, eind, iltime 231 235 !!---------------------------------------------------------------------- 232 236 … … 241 245 ENDIF 242 246 247 ! Set to zero arrays at each new time step 248 IF( PRESENT(itime) ) THEN 249 iltime = itime 250 IF( iltime > ktime ) THEN 251 t_ctll(:) = 0.e0 ; s_ctll(:) = 0.e0 252 u_ctll(:) = 0.e0 ; v_ctll(:) = 0.e0 253 ktime = iltime 254 ENDIF 255 ENDIF 256 243 257 ! Loop over each sub-domain, i.e. number of processors ijsplt 244 258 DO jn = sind, eind 245 259 246 numid = 90 260 numid = 90 + jn 247 261 248 262 IF( PRESENT(ivar1) .AND. PRESENT(clinfo2) .AND. PRESENT(ivar2) ) THEN … … 296 310 297 311 ! Initialization 298 t_ctll (:)=0.e0 299 s_ctll (:)=0.e0 300 u_ctll (:)=0.e0 301 v_ctll (:)=0.e0 312 t_ctll(:)=0.e0 313 s_ctll(:)=0.e0 314 u_ctll(:)=0.e0 315 v_ctll(:)=0.e0 316 ktime = 1 302 317 303 318 IF( lk_mpp ) THEN … … 330 345 331 346 DO jn = sind, eind 332 numid = 90 347 numid = 90 + jn 333 348 WRITE(clfile_out,FMT=clb_name) jn-1 334 349 OPEN ( UNIT=numid, FILE=TRIM(clfile_out),FORM='FORMATTED' ) … … 345 360 ! Print the SUM control indices 346 361 IF( .NOT. lsp_area ) THEN 347 IF ( lk_mpp ) THEN 348 nictls = nlditl(jn) 349 nictle = nleitl(jn) 350 njctls = nldjtl(jn) 351 njctle = nlejtl(jn) 352 ELSE 353 nictls = nimpptl(jn) + nlditl(jn) - 1 354 nictle = nimpptl(jn) + nleitl(jn) - 1 355 njctls = njmpptl(jn) + nldjtl(jn) - 1 356 njctle = njmpptl(jn) + nlejtl(jn) - 1 357 ENDIF 362 nictls = nimpptl(jn) + nlditl(jn) - 1 363 nictle = nimpptl(jn) + nleitl(jn) - 1 364 njctls = njmpptl(jn) + nldjtl(jn) - 1 365 njctle = njmpptl(jn) + nlejtl(jn) - 1 358 366 ENDIF 359 367 WRITE(numid,*) -
trunk/NEMO/OPA_SRC/step.F90
r508 r516 230 230 CALL prt_ctl(tab3d_1=tn , clinfo1=' sst - : ', mask1=tmask, ovlap=1, kdim=1) 231 231 CALL prt_ctl(tab3d_1=sn , clinfo1=' sss - : ', mask1=tmask, ovlap=1, kdim=1) 232 CALL prt_ctl(tab2d_1=taux , clinfo1=' tau - x : ', tab2d_2=tauy, clinfo2=' - y : ', ovlap=1) 232 CALL prt_ctl(tab2d_1=taux , clinfo1=' tau - x : ', mask1=umask, & 233 & tab2d_2=tauy , clinfo2=' - y : ', mask2=vmask,ovlap=1) 233 234 ENDIF 234 235
Note: See TracChangeset
for help on using the changeset viewer.