Changeset 2627 for branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/OBC
- Timestamp:
- 2011-02-27T18:52:49+01:00 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
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.