Changeset 2627
- Timestamp:
- 2011-02-27T18:52:49+01:00 (13 years ago)
- Location:
- branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_ts.F90
r2618 r2627 47 47 PUBLIC dyn_spg_ts ! routine called by step.F90 48 48 PUBLIC ts_rst ! routine called by istate.F90 49 PUBLIC dyn_spg_ts_alloc ! routine called by nemogcm.F9049 PUBLIC dyn_spg_ts_alloc ! routine called by dynspg.F90 50 50 51 51 … … 144 144 IF(lwp) WRITE(numout,*) ' Number of sub cycle in 1 time-step (2 rdt) : icycle = ', 2*nn_baro 145 145 ! 146 ! ! allocate dyn_spg_ts arrays147 IF( dyn_spg_ts_alloc() /= 0 ) CALL ctl_stop('STOP', 'dyn_spg_ts_alloc: failed to allocate arrays')148 !149 146 CALL ts_rst( nit000, 'READ' ) ! read or initialize the following fields: un_b, vn_b 150 147 ! … … 667 664 !!---------------------------------------------------------------------- 668 665 CONTAINS 669 SUBROUTINE dyn_spg_ts( kt ) ! Empty routine 666 INTEGER FUNCTION dyn_spg_ts_alloc() ! Dummy function 667 dyn_spg_ts_alloc = 0 668 END FUNCTION dyn_spg_ts_alloc 669 SUBROUTINE dyn_spg_ts( kt ) ! Empty routine 670 670 INTEGER, INTENT(in) :: kt 671 671 WRITE(*,*) 'dyn_spg_ts: You should not have seen this print! error?', kt 672 672 END SUBROUTINE dyn_spg_ts 673 SUBROUTINE ts_rst( kt, cdrw ) ! Empty routine673 SUBROUTINE ts_rst( kt, cdrw ) ! Empty routine 674 674 INTEGER , INTENT(in) :: kt ! ocean time-step 675 675 CHARACTER(len=*), INTENT(in) :: cdrw ! "READ"/"WRITE" flag -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/LBC/lib_mpp.F90
r2625 r2627 2009 2009 2010 2010 2011 SUBROUTINE mpp_ini_znl 2011 SUBROUTINE mpp_ini_znl( kumout ) 2012 2012 !!---------------------------------------------------------------------- 2013 2013 !! *** routine mpp_ini_znl *** … … 2494 2494 CONTAINS 2495 2495 2496 INTEGER FUNCTION lib_mpp_alloc() ! Dummy function 2496 INTEGER FUNCTION lib_mpp_alloc(kumout) ! Dummy function 2497 INTEGER, INTENT(in) :: kumout 2497 2498 lib_mpp_alloc = 0 2498 2499 END FUNCTION lib_mpp_alloc 2499 2500 2500 FUNCTION mynode( ldtxt, localComm ) RESULT (function_value) 2501 CHARACTER(len=*),DIMENSION(:), INTENT( out) :: ldtxt 2501 FUNCTION mynode( ldtxt, kumnam, kstop, localComm ) RESULT (function_value) 2502 2502 INTEGER, OPTIONAL , INTENT(in ) :: localComm 2503 CHARACTER(len=*),DIMENSION(:) :: ldtxt 2504 INTEGER :: kumnam, kstop 2503 2505 IF( PRESENT( localComm ) .OR. .NOT.PRESENT( localComm ) ) function_value = 0 2504 2506 IF( .FALSE. ) ldtxt(:) = 'never done' … … 2593 2595 END SUBROUTINE mppmin_int 2594 2596 2595 SUBROUTINE mppobc_1d( parr, kd1, kd2, kl, kk, ktype, kij )2596 INTEGER :: kd1, kd2, kl , kk, ktype, kij 2597 SUBROUTINE mppobc_1d( parr, kd1, kd2, kl, kk, ktype, kij, knum ) 2598 INTEGER :: kd1, kd2, kl , kk, ktype, kij, knum 2597 2599 REAL, DIMENSION(:) :: parr ! variable array 2598 WRITE(*,*) 'mppobc: You should not have seen this print! error?', parr(1), kd1, kd2, kl, kk, ktype, kij 2600 WRITE(*,*) 'mppobc: You should not have seen this print! error?', parr(1), kd1, kd2, kl, kk, ktype, kij, knum 2599 2601 END SUBROUTINE mppobc_1d 2600 2602 2601 SUBROUTINE mppobc_2d( parr, kd1, kd2, kl, kk, ktype, kij )2602 INTEGER :: kd1, kd2, kl , kk, ktype, kij 2603 SUBROUTINE mppobc_2d( parr, kd1, kd2, kl, kk, ktype, kij, knum ) 2604 INTEGER :: kd1, kd2, kl , kk, ktype, kij, knum 2603 2605 REAL, DIMENSION(:,:) :: parr ! variable array 2604 WRITE(*,*) 'mppobc: You should not have seen this print! error?', parr(1,1), kd1, kd2, kl, kk, ktype, kij 2606 WRITE(*,*) 'mppobc: You should not have seen this print! error?', parr(1,1), kd1, kd2, kl, kk, ktype, kij, knum 2605 2607 END SUBROUTINE mppobc_2d 2606 2608 2607 SUBROUTINE mppobc_3d( parr, kd1, kd2, kl, kk, ktype, kij )2608 INTEGER :: kd1, kd2, kl , kk, ktype, kij 2609 SUBROUTINE mppobc_3d( parr, kd1, kd2, kl, kk, ktype, kij, knum ) 2610 INTEGER :: kd1, kd2, kl , kk, ktype, kij, knum 2609 2611 REAL, DIMENSION(:,:,:) :: parr ! variable array 2610 WRITE(*,*) 'mppobc: You should not have seen this print! error?', parr(1,1,1), kd1, kd2, kl, kk, ktype, kij 2612 WRITE(*,*) 'mppobc: You should not have seen this print! error?', parr(1,1,1), kd1, kd2, kl, kk, ktype, kij, knum 2611 2613 END SUBROUTINE mppobc_3d 2612 2614 2613 SUBROUTINE mppobc_4d( parr, kd1, kd2, kl, kk, ktype, kij )2614 INTEGER :: kd1, kd2, kl , kk, ktype, kij 2615 SUBROUTINE mppobc_4d( parr, kd1, kd2, kl, kk, ktype, kij, knum ) 2616 INTEGER :: kd1, kd2, kl , kk, ktype, kij, knum 2615 2617 REAL, DIMENSION(:,:,:,:) :: parr ! variable array 2616 WRITE(*,*) 'mppobc: You should not have seen this print! error?', parr(1,1,1,1), kd1, kd2, kl, kk, ktype, kij 2618 WRITE(*,*) 'mppobc: You should not have seen this print! error?', parr(1,1,1,1), kd1, kd2, kl, kk, ktype, kij, knum 2617 2619 END SUBROUTINE mppobc_4d 2618 2620 … … 2649 2651 END SUBROUTINE mppstop 2650 2652 2651 SUBROUTINE mpp_ini_ice( kcom )2652 INTEGER :: kcom 2653 WRITE(*,*) 'mpp_ini_ice: You should not have seen this print! error?', kcom 2653 SUBROUTINE mpp_ini_ice( kcom, knum ) 2654 INTEGER :: kcom, knum 2655 WRITE(*,*) 'mpp_ini_ice: You should not have seen this print! error?', kcom, knum 2654 2656 END SUBROUTINE mpp_ini_ice 2655 2657 2656 SUBROUTINE mpp_ini_znl 2657 WRITE(*,*) 'mpp_ini_znl: You should not have seen this print! error?' 2658 SUBROUTINE mpp_ini_znl( knum ) 2659 INTEGER :: knum 2660 WRITE(*,*) 'mpp_ini_znl: You should not have seen this print! error?', knum 2658 2661 END SUBROUTINE mpp_ini_znl 2659 2662 -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/OBC/obcdta.F90
r2592 r2627 10 10 !! obc_dta : read u, v, t, s data along each open boundary 11 11 !!------------------------------------------------------------------------------ 12 !! * Modules used13 12 USE oce ! ocean dynamics and tracers 14 13 USE dom_oce ! ocean space and time domain … … 19 18 USE in_out_manager ! I/O logical units 20 19 USE lib_mpp ! distributed memory computing 21 USE dynspg_oce 20 USE dynspg_oce ! ocean: surface pressure gradient 22 21 USE ioipsl ! now only for ymds2ju function 23 22 USE iom ! … … 26 25 PRIVATE 27 26 28 !! * Accessibility 29 PUBLIC obc_dta ! routines called by step.F90 30 PUBLIC obc_dta_bt ! routines called by dynspg_ts.F90 31 PUBLIC obc_dta_alloc 27 PUBLIC obc_dta ! routines called by step.F90 28 PUBLIC obc_dta_bt ! routines called by dynspg_ts.F90 29 PUBLIC obc_dta_alloc 32 30 33 31 34 !! * Shared module variables 35 REAL(wp), DIMENSION(2) :: zjcnes_obc ! 36 REAL(wp), DIMENSION(:), ALLOCATABLE :: ztcobc 32 REAL(wp), DIMENSION(2) :: zjcnes_obc ! 33 REAL(wp), DIMENSION(:), ALLOCATABLE :: ztcobc 37 34 REAL(wp) :: rdt_obc 38 35 REAL(wp) :: zjcnes … … 41 38 INTEGER :: itobce, itobcw, itobcs, itobcn, itobc_b ! number of time steps in OBC files 42 39 43 INTEGER :: & 44 ntobc , & !: where we are in the obc file 45 ntobc_b , & !: first record used 46 ntobc_a !: second record used 47 48 CHARACTER (len=40) :: & ! name of data files 49 cl_obc_eTS , cl_obc_eU, & 50 cl_obc_wTS , cl_obc_wU, & 51 cl_obc_nTS , cl_obc_nV, & 52 cl_obc_sTS , cl_obc_sV 40 INTEGER :: ntobc ! where we are in the obc file 41 INTEGER :: ntobc_b ! first record used 42 INTEGER :: ntobc_a ! second record used 43 44 CHARACTER (len=40) :: cl_obc_eTS, cl_obc_eU ! name of data files 45 CHARACTER (len=40) :: cl_obc_wTS, cl_obc_wU ! - - 46 CHARACTER (len=40) :: cl_obc_nTS, cl_obc_nV ! - - 47 CHARACTER (len=40) :: cl_obc_sTS, cl_obc_sV ! - - 53 48 54 49 # if defined key_dynspg_ts 55 50 ! bt arrays for interpolating time dependent data on the boundaries 56 INTEGER :: nt_m=0, ntobc_m57 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: ubtedta, vbtedta, sshedta ! East58 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: ubtwdta, vbtwdta, sshwdta ! West59 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: ubtndta, vbtndta, sshndta ! North60 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: ubtsdta, vbtsdta, sshsdta ! South51 INTEGER :: nt_m=0, ntobc_m 52 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: ubtedta, vbtedta, sshedta ! East 53 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: ubtwdta, vbtwdta, sshwdta ! West 54 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: ubtndta, vbtndta, sshndta ! North 55 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: ubtsdta, vbtsdta, sshsdta ! South 61 56 ! arrays used for interpolating time dependent data on the boundaries 62 57 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: uedta, vedta, tedta, sedta ! East … … 66 61 # else 67 62 ! bt arrays for interpolating time dependent data on the boundaries 68 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: ubtedta, vbtedta, sshedta ! East69 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: ubtwdta, vbtwdta, sshwdta ! West70 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: ubtndta, vbtndta, sshndta ! North71 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: ubtsdta, vbtsdta, sshsdta ! South63 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: ubtedta, vbtedta, sshedta ! East 64 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: ubtwdta, vbtwdta, sshwdta ! West 65 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: ubtndta, vbtndta, sshndta ! North 66 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: ubtsdta, vbtsdta, sshsdta ! South 72 67 ! arrays used for interpolating time dependent data on the boundaries 73 68 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: uedta, vedta, tedta, sedta ! East … … 77 72 # endif 78 73 ! Masks set to .TRUE. after successful allocation below 79 LOGICAL , ALLOCATABLE, SAVE, DIMENSION (:,: ):: ltemsk, luemsk, lvemsk ! boolean msks80 LOGICAL , ALLOCATABLE, SAVE, DIMENSION (:,: ):: ltwmsk, luwmsk, lvwmsk ! used for outliers81 LOGICAL , ALLOCATABLE, SAVE, DIMENSION (:,: ):: ltnmsk, lunmsk, lvnmsk ! checks82 LOGICAL , ALLOCATABLE, SAVE, DIMENSION (:,: ):: ltsmsk, lusmsk, lvsmsk74 LOGICAL , ALLOCATABLE, SAVE, DIMENSION(:,:) :: ltemsk, luemsk, lvemsk ! boolean msks 75 LOGICAL , ALLOCATABLE, SAVE, DIMENSION(:,:) :: ltwmsk, luwmsk, lvwmsk ! used for outliers 76 LOGICAL , ALLOCATABLE, SAVE, DIMENSION(:,:) :: ltnmsk, lunmsk, lvnmsk ! checks 77 LOGICAL , ALLOCATABLE, SAVE, DIMENSION(:,:) :: ltsmsk, lusmsk, lvsmsk 83 78 84 79 !! * Substitutions … … 88 83 !! NEMO/OPA 3.3 , NEMO Consortium (2010) 89 84 !! $Id$ 90 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt)85 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 91 86 !!---------------------------------------------------------------------- 92 93 87 CONTAINS 94 88
Note: See TracChangeset
for help on using the changeset viewer.