Changeset 239 for trunk/NEMO
- Timestamp:
- 2005-03-22T18:55:20+01:00 (19 years ago)
- Location:
- trunk/NEMO/OPA_SRC
- Files:
-
- 9 deleted
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OPA_SRC/DIA/diagap.F90
r32 r239 34 34 ngap , & ! time step frequency 35 35 nprg ! switch for control print 36 #if ! defined key_fdir37 36 ! netcdf files and index common 38 37 INTEGER :: & 39 38 nhoridg, ndepidg, & 40 39 ndex(1) 41 #endif42 40 REAL(wp) :: & 43 41 vol ! total ocean volume … … 76 74 !!---------------------------------------------------------------------- 77 75 !! * Modules used 78 #if ! defined key_fdir79 76 USE ioipsl 80 #endif 77 81 78 !! * Arguments 82 79 INTEGER, INTENT(in) :: kt ! ocean time-step index … … 151 148 IF(lwp) WRITE(numout,*) ' basin volume : ',vol*1.e-9, ' km3' 152 149 153 #if defined key_fdir154 CALL ctlopn( numgap, 'differences.diag', 'UNKNOWN', 'UNFORMATTED', 'SEQUENTIAL', 1,numout,lwp,1)155 #else156 157 150 ! OPEN netcdf file 158 151 … … 195 188 CALL histend( numgap ) 196 189 ndex(1) = 0 197 #endif198 190 ENDIF 199 191 … … 260 252 ! Output in file numgap 261 253 262 #if defined key_fdir263 IF(lwp) WRITE (numgap) no, kt, jpk, tdtag, sdtag, tmodg, smodg264 #else265 266 254 ! Netcdf write 267 255 … … 273 261 CALL histwrite( numgap, "mosalimo", it, smodg, jpk, ndex ) 274 262 END IF 275 #endif276 263 ENDIF 277 264 … … 279 266 280 267 IF( kt == nitend ) THEN 281 #if defined key_fdir 282 CLOSE( numgap ) ! direct acces file 283 #else 284 CALL histclo( numgap ) ! Netcdf file 285 #endif 268 CALL histclo( numgap ) ! Netcdf file 286 269 ENDIF 287 270 -
trunk/NEMO/OPA_SRC/DIA/diaptr.F90
r190 r239 345 345 END SUBROUTINE dia_ptr_init 346 346 347 #if defined key_fdir348 !!---------------------------------------------------------------------349 !! 'key_fdir' direct access file350 !!---------------------------------------------------------------------351 352 SUBROUTINE dia_ptr_wri( kt )353 !!---------------------------------------------------------------------354 !! *** ROUTINE dia_ptr_wri ***355 !!356 !! ** Purpose : output of poleward fluxes357 !!358 !! ** Method : NetCDF file359 !!360 !! History :361 !! 9.0 ! 03-09 (G. Madec) Original code362 !!----------------------------------------------------------------------363 !! * Arguments364 INTEGER, INTENT(in) :: kt ! ocean time-step index365 REAL(wp), DIMENSION(jpj) :: zphi, zfoo366 !!----------------------------------------------------------------------367 368 IF( kt == nit000 ) THEN369 370 ! Reference latitude371 ! ------------------372 ! ! =======================373 IF( cp_cfg == "orca" ) THEN ! ORCA configurations374 ! ! =======================375 376 IF( jp_cfg == 05 ) iline = 192 ! i-line that passes near the North Pole377 IF( jp_cfg == 025 ) iline = 384 ! i-line that passes near the North Pole378 IF( jp_cfg == 2 ) iline = 48 ! i-line that passes near the North Pole379 IF( jp_cfg == 4 ) iline = 24 ! i-line that passes near the North Pole380 381 zphi(:) = 0.e0382 DO ji = mi0(iline), mi1(iline)383 zphi(:) = gphiv(ji,:) ! if iline is in the local domain384 END DO385 ! provide the correct zphi to all local domains386 IF( lk_mpp ) CALL mpp_sum( zphi, jpj )387 ! introduce arbitray northernmost grid point to avoid netcdf error388 DO jj=mj0(jpjglo), mj1(jpjglo)389 zphi(jj) = 2*zphi(jj-1)-zphi(jj-2)390 ENDDO391 392 ! ! =======================393 ELSE ! OTHER configurations394 ! ! =======================395 zphi(:) = gphiv(1,:) ! assume lat/lon coordinate, select the first i-line396 !397 ENDIF398 399 ! open the output file400 CALL ctlopn( numptr, 'opaptr.output', 'UNKNOWN', 'UNFORMATTED', 'SEQUENTIAL', 1, numout, lwp, 1 )401 402 ! header of output403 WRITE( numptr ) cexper, no, zdt, nf_ptr, jpj, jpk, zphi404 405 ENDIF406 407 IF( MOD( kt, nf_ptr ) == 0 ) THEN408 IF(lwp) WRITE( numptr ) kt, tn_jk, sn_jk, v_msf, &409 # if defined key_diaeiv410 & pht_eiv, pst_eiv, v_msf_eiv, &411 # endif412 & pht_adv, pht_ldf, pst_adv, pst_ldf413 ENDIF414 415 IF( kt == nitend ) CLOSE( numptr )416 417 END SUBROUTINE dia_ptr_wri418 419 #else420 347 !!--------------------------------------------------------------------- 421 348 !! Default option : NetCDF file … … 598 525 END SUBROUTINE dia_ptr_wri 599 526 600 #endif601 602 527 !!====================================================================== 603 528 END MODULE diaptr -
trunk/NEMO/OPA_SRC/DOM/domain.F90
r226 r239 153 153 !!---------------------------------------------------------------------- 154 154 !! * Modules used 155 #if ! defined key_fdir156 155 USE ioipsl 157 #endif158 156 NAMELIST/namrun/ no , cexper , ln_rstart , nrstdt , nit000, & 159 157 & nitend, ndate0 , nleapy , ninist , nstock, & … … 216 214 ENDIF 217 215 218 #if ! defined key_fdir219 220 216 SELECT CASE ( nleapy ) ! Choose calendar for IOIPSL 221 217 CASE ( 1 ) … … 229 225 IF(lwp) WRITE(numout,*) ' The IOIPSL calendar is "360d", i.e. 360 days in a year' 230 226 END SELECT 231 #endif232 227 233 228 SELECT CASE ( nleapy ) ! year=raajj*days day=rjjhh*hours hour=rhhmm*minutes etc ... -
trunk/NEMO/OPA_SRC/DOM/domhgr.F90
r236 r239 8 8 !! dom_hgr : initialize the horizontal mesh 9 9 !! hgr_read : read "coordinate" NetCDF file 10 !! hgr_read_fdir : read "coordinate" direct access file11 10 !!---------------------------------------------------------------------- 12 11 !! * Modules used … … 130 129 IF(lwp) WRITE(numout,*) 131 130 IF(lwp) WRITE(numout,*) ' curvilinear coordinate on the sphere read in "coordinate" file' 132 #if defined key_fdir 133 CALL hgr_read_fdir ! 'key_fdir' : direct access file 134 #else 131 135 132 CALL hgr_read ! Defaultl option : NetCDF file 136 #endif137 133 138 134 ! ! ===================== … … 644 640 END SUBROUTINE hgr_read 645 641 646 647 SUBROUTINE hgr_read_fdir648 !!----------------------------------------------------------------------649 !! *** ROUTINE hgr_read_fdir ***650 !!651 !!----------------------------------------------------------------------652 !! * Local declarations653 CHARACTER (len=5) :: clfield654 CHARACTER(len=21) :: clname = 'coordinates'655 INTEGER :: ji, jj ! dummy loop indices656 INTEGER :: inumcoo = 11 ! logical unit for coordinate file657 INTEGER :: ijpi, ijpj ! temporary integers658 REAL(wp), DIMENSION(jpi,jpj) :: zdta ! temporary workspace659 !!----------------------------------------------------------------------660 661 662 ! 1. Read of the grid coordinates and scale factors663 ! -------------------------------------------------664 665 IF(lwp) THEN666 WRITE(numout,*)667 WRITE(numout,*) 'hgrcoo : read the horizontal coordinates'668 WRITE(numout,*) '~~~~~~'669 WRITE(numout,*) ' jpiglo jpjglo jpk : ', jpiglo, jpjglo, jpk670 ENDIF671 672 ! open the file673 CALL ctlopn( inumcoo, clname, 'OLD', 'UNFORMATTED', 'SEQUENTIAL', &674 1 , numout , lwp , 1 )675 676 ! read the file677 READ(inumcoo) ijpi,ijpj678 IF( (ijpi /= jpidta) .OR. (ijpj /= jpjdta) ) THEN679 IF(lwp) THEN680 WRITE(numout,*)681 WRITE(numout,*) ' inconsitency in reading coordinate file, unit=',inumcoo682 WRITE(numout,*) ' jpidta = ',jpidta ,' jpi read = ',ijpi683 WRITE(numout,*) ' jpjdta = ',jpjdta ,' jpj read = ',ijpj684 WRITE(numout,*)685 ENDIF686 nstop = nstop + 1687 ENDIF688 689 READ(inumcoo) clfield, zdta690 IF( clfield /= 'GLAMT' ) THEN691 IF(lwp) THEN692 WRITE(numout,cform_err)693 WRITE(numout,*) 'hgrcoo: bad read',clfield,' GLAMT'694 ENDIF695 nstop = nstop + 1696 ENDIF697 DO jj = 1, nlcj698 DO ji = 1, nlci699 glamt(ji,jj) = zdta(mig(ji),mjg(jj))700 END DO701 END DO702 READ(inumcoo) clfield, zdta703 IF(clfield /= 'GLAMU') THEN704 IF(lwp) THEN705 WRITE(numout,cform_err)706 WRITE(numout,*) 'hgrcoo: bad read',clfield,' GLAMU'707 ENDIF708 nstop = nstop + 1709 ENDIF710 DO jj = 1, nlcj711 DO ji = 1, nlci712 glamu(ji,jj) = zdta(mig(ji),mjg(jj))713 END DO714 END DO715 READ(inumcoo) clfield, zdta716 IF(clfield /= 'GLAMV') THEN717 IF(lwp) THEN718 WRITE(numout,cform_err)719 WRITE(numout,*) 'hgrcoo: bad read',clfield,' GLAMV'720 ENDIF721 nstop = nstop + 1722 ENDIF723 DO jj = 1, nlcj724 DO ji = 1, nlci725 glamv(ji,jj) = zdta(mig(ji),mjg(jj))726 END DO727 END DO728 READ(inumcoo) clfield, zdta729 IF(clfield /= 'GLAMF') THEN730 IF(lwp) THEN731 WRITE(numout,cform_err)732 WRITE(numout,*) 'hgrcoo: bad read',clfield,' GLAMF'733 ENDIF734 nstop = nstop + 1735 ENDIF736 DO jj = 1, nlcj737 DO ji = 1, nlci738 glamf(ji,jj) = zdta(mig(ji),mjg(jj))739 END DO740 END DO741 READ(inumcoo) clfield, zdta742 IF(clfield /= 'GPHIT') THEN743 IF(lwp) THEN744 WRITE(numout,cform_err)745 WRITE(numout,*) 'hgrcoo: bad read',clfield,' GPHIT'746 ENDIF747 nstop = nstop + 1748 ENDIF749 DO jj = 1, nlcj750 DO ji = 1, nlci751 gphit(ji,jj) = zdta(mig(ji),mjg(jj))752 END DO753 END DO754 READ(inumcoo) clfield, zdta755 IF(clfield /= 'GPHIU') THEN756 IF(lwp) THEN757 WRITE(numout,cform_err)758 WRITE(numout,*) 'hgrcoo: bad read',clfield,' GPHIU'759 ENDIF760 nstop = nstop + 1761 ENDIF762 DO jj = 1, nlcj763 DO ji = 1, nlci764 gphiu(ji,jj) = zdta(mig(ji),mjg(jj))765 END DO766 END DO767 READ(inumcoo) clfield, zdta768 IF(clfield /= 'GPHIV') THEN769 IF(lwp) THEN770 WRITE(numout,cform_err)771 WRITE(numout,*) 'hgrcoo: bad read',clfield,' GPHIV'772 ENDIF773 nstop = nstop + 1774 ENDIF775 DO jj = 1, nlcj776 DO ji = 1, nlci777 gphiv(ji,jj) = zdta(mig(ji),mjg(jj))778 END DO779 END DO780 READ(inumcoo) clfield, zdta781 IF(clfield /= 'GPHIF') THEN782 IF(lwp) THEN783 WRITE(numout,cform_err)784 WRITE(numout,*) 'hgrcoo: bad read',clfield,' GPHIF'785 ENDIF786 nstop = nstop + 1787 ENDIF788 DO jj = 1, nlcj789 DO ji = 1, nlci790 gphif(ji,jj) = zdta(mig(ji),mjg(jj))791 END DO792 END DO793 READ(inumcoo) clfield, zdta794 IF(clfield /= 'E1T ') THEN795 IF(lwp) THEN796 WRITE(numout,cform_err)797 WRITE(numout,*) 'hgrcoo: bad read',clfield,' E1T '798 ENDIF799 nstop = nstop + 1800 ENDIF801 DO jj = 1, nlcj802 DO ji = 1, nlci803 e1t (ji,jj) = zdta(mig(ji),mjg(jj))804 END DO805 END DO806 READ(inumcoo) clfield, zdta807 IF(clfield /= 'E1U ') THEN808 IF(lwp) THEN809 WRITE(numout,cform_err)810 WRITE(numout,*) 'hgrcoo: bad read',clfield,' E1U '811 ENDIF812 nstop = nstop + 1813 ENDIF814 DO jj = 1, nlcj815 DO ji = 1, nlci816 e1u (ji,jj) = zdta(mig(ji),mjg(jj))817 END DO818 END DO819 READ(inumcoo) clfield, zdta820 IF(clfield /= 'E1V ') THEN821 IF(lwp) THEN822 WRITE(numout,cform_err)823 WRITE(numout,*) 'hgrcoo: bad read',clfield,' E1V '824 ENDIF825 nstop = nstop + 1826 ENDIF827 DO jj = 1, nlcj828 DO ji = 1, nlci829 e1v (ji,jj) = zdta(mig(ji),mjg(jj))830 END DO831 END DO832 READ(inumcoo) clfield, zdta833 IF(clfield /= 'E1F ') THEN834 IF(lwp) THEN835 WRITE(numout,cform_err)836 WRITE(numout,*) 'hgrcoo: bad read',clfield,' E1F '837 ENDIF838 nstop = nstop + 1839 ENDIF840 DO jj = 1, nlcj841 DO ji = 1, nlci842 e1f (ji,jj) = zdta(mig(ji),mjg(jj))843 END DO844 END DO845 READ(inumcoo) clfield, zdta846 IF(clfield /= 'E2T ') THEN847 IF(lwp) THEN848 WRITE(numout,cform_err)849 WRITE(numout,*) 'hgrcoo: bad read',clfield,' E2T '850 ENDIF851 nstop = nstop + 1852 ENDIF853 DO jj = 1, nlcj854 DO ji = 1, nlci855 e2t (ji,jj) = zdta(mig(ji),mjg(jj))856 END DO857 END DO858 READ(inumcoo) clfield, zdta859 IF(clfield /= 'E2U ') THEN860 IF(lwp) THEN861 WRITE(numout,cform_err)862 WRITE(numout,*) 'hgrcoo: bad read',clfield,' E2U '863 ENDIF864 nstop = nstop + 1865 ENDIF866 DO jj = 1, nlcj867 DO ji = 1, nlci868 e2u (ji,jj) = zdta(mig(ji),mjg(jj))869 END DO870 END DO871 READ(inumcoo) clfield, zdta872 IF(clfield /= 'E2V ') THEN873 IF(lwp) THEN874 WRITE(numout,cform_err)875 WRITE(numout,*) 'hgrcoo: bad read',clfield,' E2V '876 ENDIF877 nstop = nstop + 1878 ENDIF879 DO jj = 1, nlcj880 DO ji = 1, nlci881 e2v (ji,jj) = zdta(mig(ji),mjg(jj))882 END DO883 END DO884 READ(inumcoo) clfield, zdta885 IF(clfield /= 'E2F ') THEN886 IF(lwp) THEN887 WRITE(numout,cform_err)888 WRITE(numout,*) 'hgrcoo: bad read',clfield,' E2F '889 ENDIF890 nstop = nstop + 1891 ENDIF892 DO jj = 1, nlcj893 DO ji = 1, nlci894 e2f (ji,jj) = zdta(mig(ji),mjg(jj))895 END DO896 END DO897 898 CLOSE( inumcoo )899 900 ! set extra rows add in mpp to none zero values901 DO jj = nlcj+1, jpj902 DO ji = 1, nlci903 glamt(ji,jj) = glamt(ji,1) ; gphit(ji,jj) = gphit(ji,1)904 glamu(ji,jj) = glamu(ji,1) ; gphiu(ji,jj) = gphiu(ji,1)905 glamv(ji,jj) = glamv(ji,1) ; gphiv(ji,jj) = gphiv(ji,1)906 glamf(ji,jj) = glamf(ji,1) ; gphif(ji,jj) = gphif(ji,1)907 e1t (ji,jj) = e1t (ji,1) ; e2t (ji,jj) = e2t (ji,1)908 e1u (ji,jj) = e1u (ji,1) ; e2u (ji,jj) = e2u (ji,1)909 e1v (ji,jj) = e1v (ji,1) ; e2v (ji,jj) = e2v (ji,1)910 e1f (ji,jj) = e1f (ji,1) ; e2f (ji,jj) = e2f (ji,1)911 END DO912 END DO913 914 ! set extra columns add in mpp to none zero values915 DO ji = nlci+1, jpi916 glamt(ji,:) = glamt(1,:) ; gphit(ji,:) = gphit(1,:)917 glamu(ji,:) = glamu(1,:) ; gphiu(ji,:) = gphiu(1,:)918 glamv(ji,:) = glamv(1,:) ; gphiv(ji,:) = gphiv(1,:)919 glamf(ji,:) = glamf(1,:) ; gphif(ji,:) = gphif(1,:)920 e1t (ji,:) = e1t (1,:) ; e2t (ji,:) = e2t (1,:)921 e1u (ji,:) = e1u (1,:) ; e2u (ji,:) = e2u (1,:)922 e1v (ji,:) = e1v (1,:) ; e2v (ji,:) = e2v (1,:)923 e1f (ji,:) = e1f (1,:) ; e2f (ji,:) = e2f (1,:)924 END DO925 926 END SUBROUTINE hgr_read_fdir927 928 642 !!====================================================================== 929 643 END MODULE domhgr -
trunk/NEMO/OPA_SRC/DOM/domwri.F90
r116 r239 26 26 CONTAINS 27 27 28 #if defined key_fdir 29 !!---------------------------------------------------------------------- 30 !! 'key_fdir' : direct access file 31 !!---------------------------------------------------------------------- 32 # include "domwri_fdir.h90" 33 34 #elif ( defined key_mpp_mpi || defined key_mpp_shmem ) && defined key_dimgout 28 #if ( defined key_mpp_mpi || defined key_mpp_shmem ) && defined key_dimgout 35 29 !!---------------------------------------------------------------------- 36 30 !! 'key_mpp_mpi' OR … … 41 35 !!---------------------------------------------------------------------- 42 36 # include "domwri_dimg.h90" 43 44 37 45 38 #else -
trunk/NEMO/OPA_SRC/DTA/dtasal.F90
r156 r239 43 43 CONTAINS 44 44 45 # if defined key_fdir46 !!----------------------------------------------------------------------47 !! 'key_fdir' direct access file48 !!----------------------------------------------------------------------49 # include "dtasal_fdir.h90"50 # else51 45 !!---------------------------------------------------------------------- 52 46 !! Default option: NetCDF file … … 291 285 END SUBROUTINE dta_sal 292 286 293 # endif294 295 287 #else 296 288 !!---------------------------------------------------------------------- -
trunk/NEMO/OPA_SRC/DTA/dtatem.F90
r222 r239 45 45 CONTAINS 46 46 47 # if defined key_fdir48 !!----------------------------------------------------------------------49 !! 'key_fdir' direct access file50 !!----------------------------------------------------------------------51 # include "dtatem_fdir.h90"52 53 # else54 47 !!---------------------------------------------------------------------- 55 48 !! Default case NetCDF file … … 284 277 END SUBROUTINE dta_tem 285 278 286 # endif287 288 279 #else 289 280 !!---------------------------------------------------------------------- -
trunk/NEMO/OPA_SRC/SBC/flxmod.F90
r3 r239 27 27 28 28 #if defined key_flx_bulk_monthly 29 # if defined key_fdir30 !!----------------------------------------------------------------------31 !! 'key_flx_bulk_monthly' and MONTHLY bulk32 !! 'key_fdir' direct access file33 !!----------------------------------------------------------------------34 # include "flx_bulk_monthly_fdir.h90"35 36 # else37 29 !!---------------------------------------------------------------------- 38 30 !! 'key_flx_bulk_monthly' and MONTHLY bulk … … 41 33 # include "flx_bulk_monthly.h90" 42 34 43 # endif44 35 #elif defined key_flx_bulk_daily 45 36 !!---------------------------------------------------------------------- -
trunk/NEMO/OPA_SRC/SBC/taumod.F90
r167 r239 32 32 #if defined key_tau_monthly 33 33 ! Monthly climatology in (i,j) referential (i-comp. at U-pt and j-comp. at V-pt) 34 # if defined key_fdir35 !!----------------------------------------------------------------------36 !! 'key_tau_monthly' MONTHLY climatology stress37 !! 'key_fdir' direct access files38 !!----------------------------------------------------------------------39 # include "tau_forced_monthly_fdir.h90"40 # else41 34 !!---------------------------------------------------------------------- 42 35 !! 'key_tau_monthly' MONTHLY climatology stress … … 44 37 !!---------------------------------------------------------------------- 45 38 # include "tau_forced_monthly.h90" 46 # endif47 39 48 40 # elif defined key_tau_daily -
trunk/NEMO/OPA_SRC/SOL/solisl.F90
r54 r239 536 536 END SUBROUTINE isl_pth 537 537 538 # if defined key_fdir539 !!----------------------------------------------------------------------540 !! 'key_fdir' : direct access file541 !!----------------------------------------------------------------------542 # include "solisl_fdir.h90"543 544 # else545 538 !!---------------------------------------------------------------------- 546 539 !! Default option : NetCDF file … … 692 685 CALL linrg( jpisl, aisl, jpisl, aislm1, jpisl ) 693 686 694 ! 2.2 Control print695 687 ! 2.2 Control print 688 696 689 IF(lwp) THEN 697 690 WRITE(numout,*) … … 706 699 707 700 708 ! 3. Output of aisl and aislm1 in numisl709 ! --------------------------------------701 ! 3. Output of aisl and aislm1 in numisl 702 ! -------------------------------------- 710 703 711 704 CALL restput( numisl, 'aisl' , jpisl, jpisl, 1, 0, aisl ) … … 1160 1153 END SUBROUTINE isl_bsf 1161 1154 1162 #endif1163 1155 1164 1156 SUBROUTINE isl_dyn_spg -
trunk/NEMO/OPA_SRC/istate.F90
r93 r239 224 224 USE eosbn2 ! eq. of state, Brunt Vaisala frequency (eos routine) 225 225 USE divcur ! hor. divergence & rel. vorticity (div_cur routine) 226 #if ! defined key_fdir227 226 USE ioipsl 228 #endif229 227 230 228 !! * Local declarations -
trunk/NEMO/OPA_SRC/mppini.F90
r88 r239 481 481 # include "mppini_2.h90" 482 482 483 # if defined key_ fdir || defined key_dimgout484 !!---------------------------------------------------------------------- 485 !! 'key_ fdir' OR 'key_dimgout' NO use of NetCDF files483 # if defined key_dimgout 484 !!---------------------------------------------------------------------- 485 !! 'key_dimgout' NO use of NetCDF files 486 486 !!---------------------------------------------------------------------- 487 487 SUBROUTINE mpp_init_ioipsl ! Dummy routine -
trunk/NEMO/OPA_SRC/restart.F90
r177 r239 40 40 CONTAINS 41 41 42 #if defined key_fdir 43 !!---------------------------------------------------------------------- 44 !! 'key_fdir' direct access file 45 !!---------------------------------------------------------------------- 46 # include "restart_fdir.h90" 47 48 #elif ( defined key_mpp_mpi || defined key_mpp_shmem ) && defined key_dimgout 42 #if ( defined key_mpp_mpi || defined key_mpp_shmem ) && defined key_dimgout 49 43 !!---------------------------------------------------------------------- 50 44 !! 'key_mpp_mpi' OR MPI massively parallel processing library
Note: See TracChangeset
for help on using the changeset viewer.