/[MITgcm]/MITgcm_contrib/ocean_inversion_project/code/ptracers_read_mask.F
ViewVC logotype

Annotation of /MITgcm_contrib/ocean_inversion_project/code/ptracers_read_mask.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.2 - (hide annotations) (download)
Tue Sep 23 04:34:23 2003 UTC (21 years, 10 months ago) by dimitri
Branch: MAIN
Changes since 1.1: +18 -19 lines
o Mods and bug fixes to pkg/cal and pkg/exf needed for computation
  of tracer Green's fucntions for ocean inversion project.

1 dimitri 1.2 C $Header: /usr/local/gcmpack/MITgcm_contrib/ocean_inversion_project/code/ptracers_read_mask.F,v 1.1 2003/09/18 02:33:38 dimitri Exp $
2     C $Name: $
3 dimitri 1.1
4     #include "PTRACERS_OPTIONS.h"
5    
6     CBOP
7     C !ROUTINE: PTRACERS_READ_MASK
8    
9     C !INTERFACE: ==========================================================
10     SUBROUTINE PTRACERS_READ_MASK( myThid )
11    
12     C !DESCRIPTION:
13 dimitri 1.2 C Initialize pTracerMasks, an array that contains a description
14     C of 30 ocean regions used for Gruber's ocean inversion project.
15 dimitri 1.1
16     C !USES: ===============================================================
17     IMPLICIT NONE
18     #include "SIZE.h"
19     #include "EEPARAMS.h"
20     #include "PARAMS.h"
21     #include "GRID.h"
22     #include "PTRACERS.h"
23    
24     C !INPUT PARAMETERS: ===================================================
25     C myThid :: thread number
26     INTEGER myThid
27    
28     C !OUTPUT PARAMETERS: ==================================================
29     C none
30    
31     #ifdef ALLOW_PTRACERS
32    
33     C !LOCAL VARIABLES: ====================================================
34     character*(80) infile
35     INTEGER i, j, bi, bj, icount
36     INTEGER iTracer, filePrec, interp_method
37     INTEGER ndyetrac , imt , jmt
38     PARAMETER (ndyetrac=30, imt= 96, jmt=40)
39     REAL*4 lon(imt), lat(jmt)
40     _RL arrayout(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nsx,nsy)
41     _RL lon0 , lon_inc , lat0
42     PARAMETER (lon0=1.875, lon_inc=3.75, lat0=-87.275)
43     _RL lat_inc(jmt-1)
44     DATA lat_inc /
45     & 4.9720,4.4770,4.4590,4.4520,4.4490,4.4490,4.4470,4.4460,
46     & 4.4470,4.4460,4.4450,4.4460,4.4460,4.4450,4.4450,4.4460,
47     & 4.4450,4.4452,4.4452,4.4452,4.4452,4.4452,4.4450,4.4460,
48     & 4.4450,4.4450,4.4460,4.4460,4.4450,4.4460,4.4470,4.4460,
49     & 4.4470,4.4490,4.4490,4.4520,4.4590,4.4770,4.9720 /
50     CEOP
51    
52     C==== Use exf_interp to read-in mask
53     infile = '30reg_regionmask.bin'
54     filePrec = 32
55     interp_method = 1
56     do iTracer=1,ndyetrac
57 dimitri 1.2 call exf_interp( infile, filePrec
58 dimitri 1.1 & , arrayout, iTracer, xC, yC
59     & , lon0, lon_inc, lat0, lat_inc
60     & , imt, jmt, interp_method, mythid
61     & )
62 dimitri 1.2 _EXCH_XY_R4( arrayout, myThid )
63     do bj = mybylo(mythid), mybyhi(mythid)
64     do bi = mybxlo(mythid), mybxhi(mythid)
65     do j=1-OLy,sny+OLy
66     do i=1-OLx,snx+OLx
67     if (arrayout(i,j,bi,bj) .gt. 0.5) then
68     pTracerMasks(i,j,iTracer,bi,bj) = maskC(i,j,1,bi,bj)
69     else
70     pTracerMasks(i,j,iTracer,bi,bj) = 0
71     endif
72 dimitri 1.1 cdb write(10,*),iTracer,i,j,pTracerMasks(i,j,iTracer,bi,bj)
73 dimitri 1.2 enddo
74 dimitri 1.1 enddo
75 dimitri 1.2 enddo
76     enddo
77 dimitri 1.1 enddo
78    
79     C==== Check that a region is not included in two separate masks
80     do bj = mybylo(mythid), mybyhi(mythid)
81     do bi = mybxlo(mythid), mybxhi(mythid)
82     do j=1-OLy,sny+OLy
83     do i=1-OLx,snx+OLx
84     icount = 0
85     do iTracer=1,ndyetrac
86     icount = icount + pTracerMasks(i,j,iTracer,bi,bj)
87     enddo
88     if ( icount .gt. 1 )
89     & stop 'stop in ptracers_read_mask: problem with pTracerMasks'
90     enddo
91     enddo
92     enddo
93     enddo
94    
95     #endif /* ALLOW_PTRACERS */
96    
97     RETURN
98     END

  ViewVC Help
Powered by ViewVC 1.1.22