/[MITgcm]/MITgcm/pkg/profiles/profiles_inloop.F
ViewVC logotype

Contents of /MITgcm/pkg/profiles/profiles_inloop.F

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


Revision 1.11 - (show annotations) (download)
Fri Jun 22 22:07:34 2012 UTC (11 years, 11 months ago) by gforget
Branch: MAIN
CVS Tags: checkpoint64y, checkpoint64x, checkpoint64z, checkpoint64q, checkpoint64p, checkpoint64s, checkpoint64r, checkpoint64u, checkpoint64t, checkpoint64w, checkpoint64v, checkpoint64i, checkpoint64h, checkpoint64k, checkpoint64j, checkpoint64m, checkpoint64l, checkpoint64o, checkpoint64n, checkpoint64a, checkpoint64c, checkpoint64b, checkpoint64e, checkpoint64d, checkpoint64g, checkpoint64f, checkpoint63p, checkpoint63q, checkpoint63r, checkpoint63s, checkpoint63o, checkpoint64, checkpoint65, checkpoint65b, checkpoint65c, checkpoint65a, checkpoint65f, checkpoint65d, checkpoint65e
Changes since 1.10: +20 -16 lines
- rename profilesfile_equi_type (integer) as profilesDoNcOutput (logical)
- add profilesDoGenGrid run time switch (ALLOW_PROFILES_GENERICGRID).
- remove unused variables

- PROFILES_OPTIONS.h    undef ALLOW_PROFILES_GENERICGRID (+ doc)
- profiles_init_fixed.F profilesDoGenGrid related checks/stops
                        print summary of params/files/contents
                        cleanup print msgs and errors

1 C $Header: /u/gcmpack/MITgcm/pkg/profiles/profiles_inloop.F,v 1.10 2008/02/22 21:16:52 gforget Exp $
2 C $Name: $
3
4 #include "PROFILES_OPTIONS.h"
5
6 C o==========================================================o
7 C | subroutine profiles_inloop |
8 C | o computes and writes model counterparts |
9 C | for netcdf profiles data |
10 C | started: Gael Forget 15-March-2006 |
11 C o==========================================================o
12
13 SUBROUTINE profiles_inloop(mytime,myThid )
14
15 implicit none
16
17
18 C ==================== Global Variables ===========================
19 #include "EEPARAMS.h"
20 #include "SIZE.h"
21 #include "GRID.h"
22 #include "DYNVARS.h"
23 #include "PARAMS.h"
24 #ifdef ALLOW_CAL
25 #include "cal.h"
26 #endif
27 #ifdef ALLOW_CTRL
28 #include "optim.h"
29 #endif
30 #ifdef ALLOW_PROFILES
31 # include "profiles.h"
32 # include "netcdf.inc"
33 #endif
34 C ==================== Routine Variables ==========================
35
36 _RL mytime
37 integer myThid
38
39 #ifdef ALLOW_PROFILES
40
41 C ==================== Local Variables ==========================
42 integer k,bi,bj,prof_num, num_file, num_var
43 _RL prof_traj1D(NLEVELMAX),prof_mask1D(NLEVELMAX)
44 #ifdef ALLOW_PROFILES_GENERICGRID
45 integer prof_i1D(NUM_INTERP_POINTS),prof_j1D(NUM_INTERP_POINTS)
46 _RL prof_w1D(NUM_INTERP_POINTS)
47 #endif
48 #ifndef ALLOW_CTRL
49 integer optimcycle
50 #endif
51
52 c == end of interface ==
53
54 #ifndef ALLOW_CTRL
55 optimcycle = 0
56 #endif
57
58 _BEGIN_MASTER( mythid )
59
60 DO bj=1,nSy
61 DO bi=1,nSx
62
63 do num_file=1,NFILESPROFMAX
64 do prof_num=1,NOBSGLOB
65 if (prof_num.LE.ProfNo(num_file,bi,bj)) then
66 if ((prof_time(num_file,prof_num,bi,bj).GE.mytime).AND.
67 & (prof_time(num_file,prof_num,bi,bj).LT.(mytime+deltaTclock)))
68 & then
69
70 #ifdef ALLOW_PROFILES_GENERICGRID
71 do k=1,NUM_INTERP_POINTS
72 prof_i1D(k)= prof_interp_i(num_file,prof_num,k,bi,bj)
73 prof_j1D(k)= prof_interp_j(num_file,prof_num,k,bi,bj)
74 prof_w1D(k)= prof_interp_weights(num_file,prof_num,k,bi,bj)
75 enddo
76 #endif
77
78 do num_var=1,NVARMAX
79 do k=1,NLEVELMAX
80 prof_traj1D(k)=0
81 prof_mask1D(k)=0
82 enddo
83 if (vec_quantities(num_file,num_var,bi,bj).EQV..TRUE.) then
84 #ifdef ALLOW_PROFILES_GENERICGRID
85 if (.NOT.profilesDoGenGrid) then
86 #endif
87 call profiles_interp(prof_traj1D,
88 & prof_lon(num_file,prof_num,bi,bj),
89 & prof_lat(num_file,prof_num,bi,bj),
90 & num_var,num_file,mytime,bi,bj,myThid)
91 #ifdef ALLOW_PROFILES_GENERICGRID
92 else
93 call profiles_interp_gg(prof_traj1D,
94 & prof_i1D,prof_j1D,prof_w1D,
95 & num_var,num_file,mytime,bi,bj,myThid)
96 endif
97 #endif
98 call active_write_profile(num_file,
99 & ProfDepthNo(num_file,bi,bj),prof_traj1D,num_var,
100 & prof_num,optimcycle,bi,bj,mythid,
101 & profiles_dummy(num_file,num_var,bi,bj))
102 endif
103 enddo
104
105 endif !if ((prof_time...
106 endif !if (ProfNo(num_file,bi,bj).NE.0) then
107 enddo !do prof_num...
108 enddo !do num_file=1,NFILESPROFMAX
109 ENDDO
110 ENDDO
111
112 _END_MASTER( mythid )
113
114 #endif
115
116 END
117

  ViewVC Help
Powered by ViewVC 1.1.22