Log of /trunk/dyn3d
Directory Listing
Revision
128 -
Directory Listing
Modified
Thu Feb 12 16:23:33 2015 UTC
(9 years, 6 months ago)
by
guez
The variable temps of file restart.nc is always 0. So we remove the
possibility that it can be something else. So removed argument time_0
of caldyn, dynetat0, leapfrog.
Revision
127 -
Directory Listing
Modified
Tue Feb 10 17:58:56 2015 UTC
(9 years, 6 months ago)
by
guez
clon and clat from module serre are now in rad instead of
degrees. They are only used in rad, so we do only one conversion when
we read them.
Revision
126 -
Directory Listing
Modified
Fri Feb 6 18:33:15 2015 UTC
(9 years, 6 months ago)
by
guez
Extracted the case grossismx == 1 from procedure fxhyp_loop_ik up into
procedure fxhyp. Since we have to do the test somewhere, better to do
it up there. The logic gets much clearer. Also, a lot of computations
are not needed in the case grossismx == 1. We could then remove
arguments ik and decalx of fxhyp_loop_ik.
Revision
125 -
Directory Listing
Modified
Fri Feb 6 15:00:28 2015 UTC
(9 years, 6 months ago)
by
guez
Created procedure read_yomcst.
Deleted some intermediary variables in procedure orbit.
Revision
124 -
Directory Listing
Modified
Thu Feb 5 15:19:37 2015 UTC
(9 years, 6 months ago)
by
guez
Moved some processing from fxhyp_loop_ik to fxhyp. Now fxhyp_loop_ik
does not necessarily give longitudes near [-pi, pi]. In fxhyp, we look
in rlonm025 whether we need to move the array toward [-pi, pi]. If so,
we apply the same move to all grids: rlonm025, rlonv, rlonp025, rlonu
and the corresponding derivatives. The move itself is done by the new
procedure principal_cshift. This revision makes the logic
clearer. (For example, we do not have a saved variable is2 in
fxhyp_loop_ik any longer and we remove a test on ik in fxhyp_loop_ik.)
Fixed a bad error message in fxhyp_loop_ik: talked about rlonu when
xvrai is not always rlonu.
Revision
123 -
Directory Listing
Modified
Thu Feb 5 12:41:08 2015 UTC
(9 years, 6 months ago)
by
guez
Added some test programs.
In fxhyp_loop_ik, changed precision from 1e-3 to 1e-6. Reset initial
value of xo1 to first guess of xi instead of final value of xi for
previous i (better logic).
Revision
122 -
Directory Listing
Modified
Tue Feb 3 19:30:48 2015 UTC
(9 years, 6 months ago)
by
guez
In procedure fxhyp_loop_ik, when testing whether xvrai is between -pi
and pi, changed back the boundaries from -pi - 1d-5 to - pi_d - 0.1
and from pi + 1d-5 to pi_d + 0.1. Fixed the logic: for ik = 1, we
rearrange longitudes between -pi and pi, if necessary. For other
values of ik, we apply the same rearrangement.
In module serre, change the default values of dzoomx and dzoomy to
0.2, because dzoomx must be > 0 when grossismx > 1.
With this revision, we recover the results of revision 120 and we
remove the bug that appeared with clon = 20.
Revision
121 -
Directory Listing
Modified
Wed Jan 28 16:10:02 2015 UTC
(9 years, 6 months ago)
by
guez
In procedure fxhyp, extracted the body of the loop on ik into a new
procedure: fxhyp_loop_ik.
dzoomx and dzoomy must now be fractions of the entire range, they
cannot be ranges in degrees or rad.
In fxhyp, force Xf(2 * nmax) = pi_d instead of possibly doing it in
fxhyp_loop_ik.
In fxhyp_loop_ik, when testing whether xvrai is between -pi and pi,
changed the boundaries from -pi - 0.1 to - pi_d - 1d-5 and from pi +
0.1 to pi_d + 1d-5. This reveals a misconception of the
code. Therefore, this version does not work.
Revision
120 -
Directory Listing
Modified
Tue Jan 13 14:56:15 2015 UTC
(9 years, 7 months ago)
by
guez
In procedure fxhyp, removed the possibility to set scal180 to
false. The useful lower bound of fhyp and xxpr is not 0. It does not
make sense to give the save attribute to is2 since fxhyp is only
called one per run. Bug fix: is2 could be used without being
defined. The bug did not appear because is2 had the save attribute so
it was initialized at 0.
Revision
119 -
Directory Listing
Modified
Wed Jan 7 14:34:57 2015 UTC
(9 years, 7 months ago)
by
guez
Removed procedure fxyhyper. Useless intermediary between inigeom and
fxhyp, fyhyp. Removed argument yprimv of fyhyp, not used in
inigeom. Downgraded rlonm025 and rlonp025 from arguments to local
variables of fxhyp, not used in inigeom. Downgraded arguments
champmin, champmax of fxhyp and fyhyp to local variables: print them
in fxhyp and fyhyp instead of fxyhyper.
Removed arguments xzoomdeg, grossism, dzooma, tau of fxhyp. Use
directly module variables clon, grossismx, dzoomx, taux instead.
Removed arguments yzoomdeg, grossism, dzooma, tau of fyhyp. Use
directly module variables clat, grossismy, dzoomy, tauy instead.
In procedure yamada4, l0 does not need the save attribute. It is
defined at each call.
Revision
118 -
Directory Listing
Modified
Thu Dec 18 17:30:24 2014 UTC
(9 years, 8 months ago)
by
guez
In file grilles_gcm.nc, renamed variable phis to orog, deleted
variable presnivs.
Removed variable bug_ozone from module clesphys.
In procedure ozonecm, moved computation of sint and cost out of the
loops on horizontal position and vertical level. Inverted the order of
the two loops. We can then move all computations from slat to aprim
out of the loop on vertical levels. Created variable slat2, following
LMDZ. Moved the limitation of column-density of ozone in cell at 1e-12
from radlwsw to ozonecm, following LMDZ.
Removed unused arguments u, albsol, rh, cldfra, rneb, diafra, cldliq,
pmflxr, pmflxs, prfl, psfl of phytrac.
In procedure yamada4, for all the arrays, replaced the dimension klon
by ngrid. At the end of the procedure, for the computation of kmn,kn,
kq and q2, changed the upper limit of the loop index from klon to ngrid.
In radlwsw, for the calculation of pozon, removed the factor
paprs(iof+i, 1)/101325, as in LMDZ. In procedure sw, removed the
factor 101325.0/PPSOL(JL), as in LMDZ.
Revision
116 -
Directory Listing
Modified
Thu Dec 4 16:35:03 2014 UTC
(9 years, 8 months ago)
by
guez
In test_disvert, write output files before testing order of pressure
values, so we have more information if there is a problem.
Revision
115 -
Directory Listing
Modified
Fri Sep 19 17:36:20 2014 UTC
(9 years, 11 months ago)
by
guez
Extracted code from tau2alpha for first call into new procedure
init_tau2alpha. dxdys, dxdyu, dxdyv are now local variables if guide
computed by init_tau2alpha. This allows us to remove terrible argument
type of tau2alpha: we just give to tau2alpha the right dxdy and
rlat.
In module conf_guide_m, changed default values of tau_min_*, because
0.02 is too small for the default daystep = 240, iperiod = 5. Changed
default values of guide_[uv] to false. Moved variable ok_guide from
conf_gcm_m to conf_guide_m, ok_guide is no longer an input parameter,
it is computed from guide_*. Had then to move test on ok_guide and
day_step from conf_gcm_m to conf_guide_m. Added checks on input
nudging parameters in procedure conf_guide. Upgraded variable factt to
module conf_guide_m in order to check nudging parameters. Bug fix:
variable guide_q was not in namelist conf_guide_nml.
Removed unused variables aire_min, aire_max of MODULE guide_m.
Moved the call to conf_guide from guide to gcm. This was needed to
define ok_guide before getting into guide (since ok_guide is no longer
in conf_gcm_m). Moved test on grossismx and grossismy from tau2alpha
to guide. It is clearer now that only tau_max is used for a regular
grid, and we do not have to repeat this test in each call to
tau2alpha. In guide, we only call writefield when alpha is not a
constant.
Revision
114 -
Directory Listing
Modified
Fri Sep 19 11:41:35 2014 UTC
(9 years, 11 months ago)
by
guez
Revision
113 -
Directory Listing
Modified
Thu Sep 18 19:56:46 2014 UTC
(9 years, 11 months ago)
by
guez
Moved the call to read_serre out of conf_gcm so that it can be called
only in the program ce0l, not in gcm. In gcm, variables of module
serre are read from start file. Added reading of dzoomx, dzoomy, taux,
tauy from start file, in dynetat0. Those variables were written by
dynredem0 but not read.
Removed possibility fxyhypb = false, because the geometric part of the
program is such a mess. Could then remove variables transx, transy,
alphax, alphay, pxo, pyo of module serre.
Bug fix in tau2alpha: missing save attributes. The first call to
tau2alpha needs to compute dxdyu and dxdyv regardless of value of
argument type, because they will be needed for subsequent calls to
tau2alpha with various values of argument type.
Revision
112 -
Directory Listing
Modified
Thu Sep 18 13:36:51 2014 UTC
(9 years, 11 months ago)
by
guez
Removed 8 first arguments of fxyhyper, use variables of module serre
instead.
Moved reading of variables of module serre from procedure conf_gcm to
new procedure read_serre.
In guide, added conditions to avoid useless calls to tau2alpha and
writefield. Bugfix: offline corresponds to alpha = 1. Open only one
NetCDF file to read number of vertical levels.
In tau2alpha, added conditions to avoid useless computations of dxdyu
and dxdyv. gamma is not needed for a regular grid.
Revision
110 -
Directory Listing
Modified
Wed Sep 17 11:55:05 2014 UTC
(9 years, 11 months ago)
by
guez
Moved variables of module write_field to module
createnewfield_m. Deleted module variable varid because we know that
varid is always 1. Module variable record was modified in 2 procedures
so Moved assignment:
Record(NbField) = 1
to writefield.
Revision
109 -
Directory Listing
Modified
Wed Sep 17 10:08:00 2014 UTC
(9 years, 11 months ago)
by
guez
Moved a call to writefield from guide to tau2alpha. (dxdys does not
change with itau.) So dxdys does not need to be a module variable any
longer. Other variables of modules tau2alpha_m downgraded to local
variables of tau2alpha, since they were not used elsewhere.
Procedures write_field[13]d and formcoord were never called. Could
then remove int2str.
Inline writefield_gen into writefield.
CreateNewField takes an integer array argument instead of 3 scalar
integers. CreateNewField now creates a number of dimensions adapted to
the rank of the output field, instead of always 4 dimensions.
Changed names of variables of module write_field: fieldid to
ncid, fieldindex to record, fieldvarid to varid.
In writefield_gen, if index == -1, no need to call GetFieldIndex
again, we know that the result is nbfield.
In guide, moved calls to writefield for some variables inside if
first_call: those variables do not change with time. Removed ztau:
computed only to be output, does not seem meaningful. Removed
writefield for aire: does not change with time and is already in
"grilles_gcm.nc".
Revision
108 -
Directory Listing
Modified
Tue Sep 16 14:00:41 2014 UTC
(9 years, 11 months ago)
by
guez
Imported writefield from LMDZ. Close at the end of gcm the files which
were created by writefiled (not done in LMDZ).
Removed procedures for the output of Grads files. Removed calls to
dump2d. In guide, replaced calls to wrgrads by calls to writefield.
In vlspltqs, removed redundant programming of saturation
pressure. Call foeew from module FCTTRE instead.
Bug fix in interpre: size of w exceeding size of correponding actual
argument wg in advtrac.
In leapfrog, call guide until the end of the run, instead of six hours
before the end.
Bug fix in readsulfate_preind: type of arguments.
Revision
107 -
Directory Listing
Modified
Thu Sep 11 15:09:15 2014 UTC
(9 years, 11 months ago)
by
guez
Imported procedure grilles_gcm_sub from LMDZ. Had then to transform
local variable phis of etat to argument.
Replaced calls to lnblnk by calls to trim.
Removed arguments nlat, klevel and griscal of filtreg. Replaced
integer arguments ifiltre and iaire by logical arguments direct and
intensive.
Changed default values of guide_t and guide_q to false.
Revision
106 -
Directory Listing
Modified
Tue Sep 9 12:54:30 2014 UTC
(9 years, 11 months ago)
by
guez
Removed arguments klon, knon of interfoce_lim. Removed argument knon
of interfsur_lim.
Revision
105 -
Directory Listing
Modified
Thu Sep 4 10:40:24 2014 UTC
(9 years, 11 months ago)
by
guez
Removed intermediate variables in calcul_fluxs.
Revision
104 -
Directory Listing
Modified
Thu Sep 4 10:05:52 2014 UTC
(9 years, 11 months ago)
by
guez
Removed procedure sortvarc0. Called sortvarc with an additional
argument resetvarc instead. (Following LMDZ.) Moved current time
computations and some printing statements from sortvarc to
caldyn. Could then remove arguments itau and time_0 of sortvarc, and
could remove "use dynetat0". Better to keep "dynetat0.f" as a gcm-only
file.
Moved some variables from module ener to module sortvarc.
Split file "mathelp.f" into single-procedure files.
Removed unused argument nadv of adaptdt. Removed dimension arguments
of bernoui.
Removed unused argument nisurf of interfoce_lim. Changed the size of
argument lmt_sst of interfoce_lim from klon to knon. Removed case when
newlmt is false.
dynredem1 is called only once in each run, either ce0l or gcm. So
variable nb in call to nf95_put_var was always 1. Removed variable nb.
Removed dimension arguments of calcul_fluxs. Removed unused arguments
precip_rain, precip_snow, snow of calcul_fluxs. Changed the size of
all the arrays in calcul_fluxs from klon to knon.
Removed dimension arguments of fonte_neige. Changed the size of all
the arrays in fonte_neige from klon to knon.
Changed the size of arguments tsurf and tsurf_new of interfsurf_hq
from klon to knon. Changed the size of argument ptsrf of soil from
klon to knon.
Revision
103 -
Directory Listing
Modified
Fri Aug 29 13:00:05 2014 UTC
(9 years, 11 months ago)
by
guez
Renamed module cvparam to cv_param. Deleted procedure
cv_param. Changed variables of module cv_param into parameters.
In procedures cv_driver, cv_uncompress and cv3_uncompress, removed
some arguments giving dimensions and used module variables klon and
klev instead.
In procedures gradiv2, laplacien_gam and laplacien, changed
declarations of local variables because klevel is not always klev.
Removed code for nudging surface pressure.
Removed arguments pim and pjm of tau2alpha. Added assignment of false
to variable first.
Replaced real argument del of procedures foeew and FOEDE by logical
argument.
Revision
102 -
Directory Listing
Modified
Tue Jul 15 13:43:24 2014 UTC
(10 years, 1 month ago)
by
guez
Removed unused file "condsurf.f" (only useful for ocean slab).
day_step must be a multiple of 4 * iperiod if ok_guide.
Changed type of variable online of module conf_guide_m from integer to
logical. Value -1 was not useful, equivalent to not ok_guide.
Removed argument masse of procedure guide. masse is kept consistent
with ps throughout the run. masse need only be computed again just
after ps has been modified. In prodecure guide, replaced use of
remanent variable first by test on itau. Replaced test on variable
"test" by test on integer values.
In leapfrog, for the call to guide, replaced test on real values by
test on integer values.
Bug fix in tau2alpha: computation of dxdyv (following LMDZ revision 1040).
In procedure wrgrads, replaced badly chosen argument name "if" by i_f.
Revision
99 -
Directory Listing
Modified
Wed Jul 2 18:39:15 2014 UTC
(10 years, 1 month ago)
by
guez
Created procedure test_disvert (following LMDZ). Added procedures
hybrid and funcd in module disvert_m. Upgraded compute_ab from
internal procedure of disvert to module procedure. Added variables y,
ya in module disvert_m. Upgraded s from local variable of procedure
disvert to module variable.
Renamed allowed value of variable vert_sampling in procedure disvert
from "read" to "read_hybrid". Added possibility to read pressure
values, value "read_pressure". Replaced vertical distribution for
value "param" by the distribution "strato_correct" from LMDZ (but kept
the value "param"). In case "tropo", replaced 1 by dsigmin (following
LMDZ). In case "strato", replaced 0.3 by dsigmin (following LMDZ).
Changed computation of bp in procedure compute_ab.
Removed debugindex case in clmain. Removed useless argument rlon of
procedure clmain. Removed useless variables ytaux, ytauy of procedure
clmain.
Removed intermediary variables tsol, qsol, tsolsrf, tslab in procedure
etat0.
Removed variable ok_veget:. coupling with the model Orchid is not
possible. Removed variable ocean: modeling an ocean slab is not
possible.
Removed useless variables tmp_rriv and tmp_rcoa from module
interface_surf.
Moved initialization of variables da, mp, phi in procedure physiq to
to inside the test iflag_con >= 3.
Revision
98 -
Directory Listing
Modified
Tue May 13 17:23:16 2014 UTC
(10 years, 3 months ago)
by
guez
Split inter_barxy.f : one procedure per module, one module per
file. Grouped the files into a directory.
Split orbite.f.
Value of raz_date read from the namelist is taken into account
(resetting the step counter) even if annee_ref == anneeref and day_ref
== dayref. raz_date is no longer modified by gcm main unit. (Following
LMDZ.)
Removed argument klon of interfsur_lim. Renamed arguments lmt_alb,
lmt_rug to alb_new, z0_new (same name as corresponding actual
arguments in interfsurf_hq).
Removed argument klon of interfsurf_hq.
Removed arguments qs and d_qs of diagetpq. Were always
zero. Downgraded arguments d_qw, d_ql of diagetpq to local variables,
they were not used in physiq. Removed all computations for solid water
in diagetpq, was just zero.
Downgraded arguments fs_bound, fq_bound of diagphy to local variables,
they were not used in physiq. Encapsulated in a test on iprt all
computations in diagphy.
Removed parameter nbtr of module dimphy. Replaced it everywhere in the
program by nqmx - 2.
Removed parameter rnpb of procedure physiq. Kept the true case in
physiq and phytrac. Could not work with false case anyway.
Removed arguments klon, llm, airephy of qcheck. Removed argument ftsol
of initrrnpb, was not used.
Revision
97 -
Directory Listing
Modified
Fri Apr 25 14:58:31 2014 UTC
(10 years, 3 months ago)
by
guez
Module pressure_var is now only used in gcm. Created local variables
pls and p3d in etat0, added argument p3d to regr_pr_o3.
In leapfrog, moved computation of p3d and exner function immediately
after integrd, for clarity (does not change the execution).
Removed unused arguments: ntra, tra1 and tra of cv3_compress; ntra,
tra and traent of cv3_mixing; ntra, ftra, ftra1 of cv3_uncompress;
ntra, tra, trap of cv3_unsat; ntra, tra, trap, traent, ftra of
cv3_yield; tra, tvp, pbase, bbase, dtvpdt1, dtvpdq1, dplcldt,
dplcldr, ntra of concvl; ndp1, ntra, tra1 of cv_driver
Removed argument d_tra and computation of d_tra in concvl. Removed
argument ftra1 and computation of ftra1 in cv_driver. ftra1 was just
set to 0 in cv_driver, associated to d_tra in concvl, and set again to
zero in concvl.
Revision
96 -
Directory Listing
Modified
Fri Apr 4 11:30:34 2014 UTC
(10 years, 4 months ago)
by
guez
In procedure leapfrog, computation of p3d and a call to exner_hyb were
made before and after the call to calfis. This was a repetition of the
same calculation since calfis does not change the surface
pressure. Kept only one calculation, and moved it before the test for
the call to calfis.
Revision
95 -
Directory Listing
Modified
Wed Apr 2 12:59:54 2014 UTC
(10 years, 4 months ago)
by
guez
Removed argument ps of calfis (was not done in revision 91, error in
log message).
Removed optional actual argument pkf of the call to exner_hyb before
calfis, in leapfrog. pkf was not used before the next call to
exner_hyb.
Revision
92 -
Directory Listing
Modified
Wed Mar 26 18:16:05 2014 UTC
(10 years, 4 months ago)
by
guez
Extracted procedures that were in module calendar into separate files.
Revision
91 -
Directory Listing
Modified
Wed Mar 26 17:18:58 2014 UTC
(10 years, 4 months ago)
by
guez
Removed unused variables lock_startdate and time_stamp of module
calendar.
Noticed that physiq does not change the surface pressure. So removed
arguments ps and dpfi of subroutine addfi. dpfi was always 0. The
computation of ps in addfi included some averaging at the poles. In
principle, this does not change ps but in practice it does because of
finite numerical precision. So the results of the simulation are
changed. Removed arguments ps and dpfi of calfis. Removed argument
d_ps of physiq.
du at the poles is not computed by dudv1, so declare only the
corresponding latitudes in dudv1. caldyn passes only a section of the
array dudyn as argument.
Removed variable niadv of module iniadvtrac_m.
Declared arguments of exner_hyb as assumed-shape arrays and made all
other horizontal sizes in exner_hyb dynamic. This allows the external
program test_disvert to use exner_hyb at a single horizontal position.
Revision
90 -
Directory Listing
Modified
Wed Mar 12 21:16:36 2014 UTC
(10 years, 5 months ago)
by
guez
Removed procedures ini_histday, ini_histhf, write_histday and
write_histhf.
Divided file regr_pr_coefoz.f into regr_pr_av.f and
regr_pr_int.f. (Following LMDZ.) Divided module regr_pr_coefoz into
modules regr_pr_av_m and regr_pr_int_m. Renamed regr_pr_av_coefoz to
regr_pr_av and regr_pr_int_coefoz to regr_pr_int. The idea is that
those procedures are more general than Mobidic.
Removed argument dudyn of calfis and physiq. dudyn is not used either
in LMDZ. Removed computation in calfis of unused variable zpsrf (not
used either in LMDZ). Removed useless computation of dqfi in calfis
(part 62): the results were overwritten. (Same in LMDZ.)
Revision
89 -
Directory Listing
Modified
Tue Mar 11 16:03:19 2014 UTC
(10 years, 5 months ago)
by
guez
Removed call to pvtheta in calfis because the result pvteta is not
used (not used either in LMDZ).
Removed unused argument dv of calfis. (Corresponding argument in LMDZ
is pdvcov and computations from pdvcov are made in calfis but not
used.)
Removed procedures that were not called.
Revision
88 -
Directory Listing
Modified
Tue Mar 11 15:09:02 2014 UTC
(10 years, 5 months ago)
by
guez
Removed useless argument mode of subroutine read_reanalyse.
Revision
87 -
Directory Listing
Modified
Thu Mar 6 18:10:03 2014 UTC
(10 years, 5 months ago)
by
guez
In procedure exner_hyb, removed computation of pks at the poles. In the
program ce0l, start_init_dyn ensures that there is a single value of
ps at each pole. In the program gcm, ps received by exner_hyb always
has a single value at each pole. Hence, so does pks.
This modification changes the results of ce0l and gcm.
Revision
86 -
Directory Listing
Modified
Thu Mar 6 17:51:03 2014 UTC
(10 years, 5 months ago)
by
guez
In leapfrog, removed computation of ps at the poles. dynetat0 checks
that there is a single value of ps at each pole and ps is only
modified in the program gcm by integrd and addfi. Both integrd and
addfi ensure there is a single value of ps at each pole.
This modification changes the results of gcm.
Revision
85 -
Directory Listing
Modified
Thu Mar 6 17:35:22 2014 UTC
(10 years, 5 months ago)
by
guez
Removed option to guide surface pressure because it was not
functional: psrea1 was not defined in procedure guide. Removed local
variables psrea1 and psrea2 of procedure guide. ps becomes an
"intent(in)" argument in guide. Removed case guide_p in guide. Removed
variable guide_p of module conf_guide_m. Removed case guide_p and
argument ps in read_reanalyse. Removed case guide_p and argument ps in
reanalyse2nat.
Revision
83 -
Directory Listing
Modified
Thu Mar 6 15:12:00 2014 UTC
(10 years, 5 months ago)
by
guez
In procedure conf_guide, replaced calls to getpar by reading a
namelist. Removed file getparam.f, now unused. So getin of IOIPSL is
now unused too. Removed files getincom.f, getincom2.f, cmpblank.f,
find_sig.f, gensig.f and nocomma.f.
Moved variables lat_min_guide and lat_max_guide from module
tau2alpha_m to module conf_guide_m.
Removed variables nivsig and nivsigs of module disvert_m. Instead, in
initdynav and initfluxsto, directly wrote arithmetic sequence for
verical axis, pending a better vertical axis. Removed variables nivsig
and nivsigs of "(re)?.start.nc".
In procedure exner_hyb, replaced p(:, :, 1) by equivalent ps.
Revision
82 -
Directory Listing
Modified
Wed Mar 5 14:57:53 2014 UTC
(10 years, 5 months ago)
by
guez
Changed all ".f90" suffixes to ".f".
Revision
81 -
Directory Listing
Modified
Wed Mar 5 14:38:41 2014 UTC
(10 years, 5 months ago)
by
guez
Converted to free source form files which were still in fixed source
form. The conversion was done using the polish mode of the NAG Fortran
Compiler.
In addition to converting to free source form, the processing of the
files also:
-- indented the code (including comments);
-- set Fortran keywords to uppercase, and set all other identifiers
to lower case;
-- added qualifiers to end statements (for example "end subroutine
conflx", instead of "end");
-- changed the terminating statements of all DO loops so that each
loop ends with an ENDDO statement (instead of a labeled continue).
Revision
79 -
Directory Listing
Modified
Fri Feb 28 17:52:47 2014 UTC
(10 years, 5 months ago)
by
guez
Moved procedure iniconst inside module comconst. Removed useless
variables of module comconst: im, jm, lllm, imp1, jmp1, lllmm1,
lllmp1, lcl, cotot, unsim. Move definition of dtvr that was in
dynetat0 and etat0 to iniconst. Moved comparison of dtvr from day_step
and start.nc that was in gcm to dynetat0. Moved call to disvert out of
iniconst. Moved call to iniconst in gcm before call to dynetat0.
Removed unused argument pvteta of physiq (not used either in LMDZ).
Revision
78 -
Directory Listing
Modified
Wed Feb 5 17:51:07 2014 UTC
(10 years, 6 months ago)
by
guez
Moved procedure inigeom into module comgeom.
In disvert, renamed s_sampling to vert_sampling, following
LMDZ. Removed choice strato1. In case read, read ap and bp instead of
s (following LMDZ).
Added argument phis to start_init_orog and start_init_dyn, and removed
variable phis of module start_init_orog_m. In etat0 and
start_init_orog, renamed relief to zmea_2d. In start_init_dyn, renamed
psol to ps.
In start_init_orog, renamed relief_hi to relief. No need to set
phis(iim + 1, :) = phis(1, :), already done in grid_noro.
Documentation for massbar out of SVN, in massbar.txt. Documentation
was duplicated in massdair, but not relevant in massdair.
In conflx, no need to initialize pen_[ud] and pde_[ud]. In flxasc,
used intermediary variable fact (following LMDZ).
In grid_noro, added local variable zmea0 for zmea not smoothed and
computed zphi from zmea instead of zmea0 (following LMDZ). This
changes the results of ce0l.
Removed arguments pen_u and pde_d of phytrac and nflxtr, which were
not used.
Revision
73 -
Directory Listing
Modified
Fri Nov 15 17:48:30 2013 UTC
(10 years, 9 months ago)
by
guez
Original Path:
trunk/libf/dyn3d
Renamed tpot to teta and psol to ps in etat0.
Replaced calls to flincom by calls to NetCDF95 in startdyn. lon_ini,
lat_ini and levdyn_ini are now pointers.
Revision
72 -
Directory Listing
Modified
Tue Jul 23 13:00:07 2013 UTC
(11 years, 1 month ago)
by
guez
Original Path:
trunk/libf/dyn3d
NaN to signalling NaN in gfortran_debug.mk.
Removed unused procedures in getincom and getincom2. In procedure
conf_interface, replaced call to getincom by new namelist. Moved
procedure conf_interface into module interface_surf.
Added variables sig1 and w01 to startphy.nc and restartphy.nc, for
procedure cv_driver. Renamed (ema_)?work1 and (ema_)?work2 to sig1 and
w01 in concvl and physiq.
Deleted unused arguments of clmain, clqh and intersurf_hq, among which
(y)?sollwdown. Following LMDZ, in physiq, read sollw instead of
sollwdown from startphy.nc, write sollw instead of sollwdown to
restartphy.nc.
In procedure sw, initialized zfs[ud][pn]a[di], for runs where ok_ade
and ok_aie are false. (Following LMDZ.)
Added dimension klev to startphy.nc and restartphy.nc, and deleted
dimension horizon_vertical. Made t_ancien and q_ancien two-dimensional
NetCDF variables. Bug fix: in phyetat0, define ratqs, clwcon and
rnebcon for vertical levels >=2.
Bug fix: set mfg, p[de]n_[ud] to 0. when iflag_con >= 3. (Following LMDZ.)
Revision
71 -
Directory Listing
Modified
Mon Jul 8 18:12:18 2013 UTC
(11 years, 1 month ago)
by
guez
Original Path:
trunk/libf/dyn3d
No reason to call inidissip in ce0l.
In inidissip, set random seed to 1 beacuse PGI compiler does not
accept all zeros.
dq was computed needlessly in caladvtrac. Arguments masse and dq of
calfis not used.
Replaced real*8 by double precision.
Pass arrays with inverted order of vertical levels to conflx instead
of creating local variables for this inside conflx.
Revision
70 -
Directory Listing
Modified
Mon Jun 24 15:39:52 2013 UTC
(11 years, 2 months ago)
by
guez
Original Path:
trunk/libf/dyn3d
In procedure, "addfi" access directly the module variable "dtphys"
instead of going through an argument.
In "conflx", do not create a local variable for temperature with
reversed order of vertical levels. Instead, give an actual argument
with reversed order in "physiq".
Changed names of variables "rmd" and "rmv" from module "suphec_m" to
"md" and "mv".
In "hgardfou", print only the first temperature out of range found.
Revision
69 -
Directory Listing
Modified
Mon Feb 18 16:33:12 2013 UTC
(11 years, 6 months ago)
by
guez
Original Path:
trunk/libf/dyn3d
Deleted files cvparam3.f90 and nuagecom.f90. Moved variables from
module cvparam3 to module cv3_param_m. Moved variables rad_chau1 and
rad_chau2 from module nuagecom to module conf_phys_m.
Read clesphys2_nml from conf_phys instead of gcm.
Removed argument iflag_con from several procedures. Access module
variable instead.
Revision
68 -
Directory Listing
Modified
Wed Nov 14 16:59:30 2012 UTC
(11 years, 9 months ago)
by
guez
Original Path:
trunk/libf/dyn3d
Split "flincom.f90" into "flinclo.f90", "flinfindcood.f90",
"flininfo.f90" and "flinopen_nozoom.f90", in directory
"IOIPSL/Flincom".
Renamed "etat0_lim" to "ce0l", as in LMDZ.
Split "readsulfate.f" into "readsulfate.f90", "readsulfate_preind.f90"
and "getso4fromfile.f90".
In etat0, renamed variable q3d to q, as in "dynredem1". Replaced calls
to Flicom procedures by calls to NetCDF95.
In leapfrog, added call to writehist.
Extracted ASCII art from "grid_noro" into a file
"grid_noro.txt". Transformed explicit-shape local arrays into
automatic arrays, so that test on values of iim and jjm is no longer
needed. Test on weight:
IF (weight(ii, jj) /= 0.) THEN
is useless. There is already a test before:
if (any(weight == 0.)) stop "zero weight in grid_noro"
In "aeropt", replaced duplicated lines with different values of inu by
a loop on inu.
Removed arguments of "conf_phys". Corresponding variables are now
defined in "physiq", in a namelist. In "conf_phys", read a namelist
instead of using getin.
Revision
66 -
Directory Listing
Modified
Thu Sep 20 13:00:41 2012 UTC
(11 years, 11 months ago)
by
guez
Original Path:
trunk/libf/dyn3d
Changed name of module "comvert" to "disvert_m". Changed constant
1. to 0.3 in vertical sampling "strato".
Revision
65 -
Directory Listing
Modified
Thu Sep 20 09:57:03 2012 UTC
(11 years, 11 months ago)
by
guez
Original Path:
trunk/libf/dyn3d
Removed unused procedure "divgrad".
In procedure "dissip", save memory by using intermediary arrays "gdx"
and "gdy" several times instead of additional array "grx" and "gry".
In procedure "inidissip", write "dtdiss * teta*" instead of "teta*".
In "comvert", change name of s_sampling from "LMD5" to "tropo" and
from "strato2" to "strato".
Revision
64 -
Directory Listing
Modified
Wed Aug 29 14:47:17 2012 UTC
(11 years, 11 months ago)
by
guez
Original Path:
trunk/libf/dyn3d
Removed variable lstardis in module comdissnew and procedures gradiv
and nxgrarot. lstardir had to be true. gradiv and nxgrarot were called
if lstardis was false. Removed argument iter of procedure
filtreg. iter had to be 1. gradiv and nxgrarot called filtreg with
iter == 2.
Moved procedure flxsetup into module yoecumf. Module yoecumf is only
used in program units of directory Conflx, moved it there.
Revision
62 -
Directory Listing
Modified
Thu Jul 26 14:37:37 2012 UTC
(12 years ago)
by
guez
Original Path:
trunk/libf/dyn3d
Changed handling of compiler in compilation system.
Removed the prefix letters "y", "p", "t" or "z" in some names of variables.
Replaced calls to NetCDF by calls to NetCDF95.
Extracted "ioget_calendar" procedures from "calendar.f90" into a
separate file.
Extracted to a separate file, "mathop2.f90", procedures that were not
part of the generic interface "mathop" in "mathop.f90".
Removed computation of "dq" in "bilan_dyn", which was not used.
In "iniadvtrac", removed schemes 20 Slopes and 30 Prather. Was not
compatible with declarations of array sizes.
In "clcdrag", "ustarhb", "vdif_kcay", "yamada4" and "coefkz", changed
the size of some arrays from "klon" to "knon".
Removed possible call to "conema3" in "physiq".
Removed unused argument "cd" in "yamada".
Revision
61 -
Directory Listing
Modified
Fri Apr 20 14:58:43 2012 UTC
(12 years, 4 months ago)
by
guez
Original Path:
trunk/libf/dyn3d
No more included file in LMDZE, not even "netcdf.inc".
Created a variable containing the list of common source files in
GNUmakefile. So we now also see clearly files that are specific to
each program.
Split module "histcom". Assembled resulting files in directory
"Histcom".
Removed aliasing in calls to "laplacien".
Revision
60 -
Directory Listing
Modified
Mon Jan 30 14:37:26 2012 UTC
(12 years, 6 months ago)
by
guez
Original Path:
trunk/libf/dyn3d
Useless copies into "gdx" and "gdy" in "gradiv2".
Revision
57 -
Directory Listing
Modified
Mon Jan 30 12:54:02 2012 UTC
(12 years, 6 months ago)
by
guez
Original Path:
trunk/libf/dyn3d
Write used namelists to file "" instead of standard output.
Avoid aliasing in "inidissip" in calls to "divgrad2", "divgrad",
"gradiv2", "gradiv", "nxgraro2" and "nxgrarot". Add a degenerate
dimension to arrays so they have rank 3, like the dummy arguments in
"divgrad2", "divgrad", "gradiv2", "gradiv", "nxgraro2" and "nxgrarot".
Extract the initialization part from "bilan_dyn" and make a separate
procedure, "init_dynzon", from it.
Move variables from modules "iniprint" and "logic" to module
"conf_gcm_m".
Promote internal procedures of "fxy" to private procedures of module
"fxy_m".
Extracted documentation from "inigeom". Removed useless "save"
attributes. Removed useless intermediate variables. Extracted
processing of poles from loop on latitudes. Write coordinates to file
"longitude_latitude.txt" instead of standard output.
Do not use ozone tracer for radiative transfer.
Revision
56 -
Directory Listing
Modified
Tue Jan 10 19:02:02 2012 UTC
(12 years, 7 months ago)
by
guez
Original Path:
trunk/libf/dyn3d
Imported "writehist.f" from LMDZ.
Moved module variable "histaveid" from "com_io_dyn" to "initdynav_m".
In "inithist", access directly module variables from "com_io_dyn"
instead of going through the arguments. Copying from LMDZ, write "u"
and scalar variables to separate files. Create a new variable for the
new file in "com_io_dyn". Copying from LMDZ, change the vertical axes
of the three files.
Removed some useless initializations in "dissip".
In "bilan_dyn", removed useless variable "time". Avoiding the
approximate test on "dt_cum" being a multiple of "dt_app", just
compute "ncum" from known usage of "bilan_dyn" and compute "dt_cum"
from "ncum". Change "periodav" from real to integer in
"conf_gcm_m". Since "day_step" is required to be a multiple of
"iperiod", so is "ncum".
Revision
55 -
Directory Listing
Modified
Mon Dec 12 13:25:01 2011 UTC
(12 years, 8 months ago)
by
guez
Original Path:
trunk/libf/dyn3d
-- In procedure "bilan_dyn", replaced average of "zvq" by integral of
"zvq", following a comment of Francis Codron :
Le calcul actuel donne des unités peu pratiques : transports de
chaleur en K m / s par exemple. C'est bien pour les sorties à 2
dimensions, latitude et pression, car alors le transport ne dépend pas
de l'espacement des niveaux, mieux pour comparer ou tracer en latitude
et pression. Par contre, quand on somme sur la verticale, on
préfèrerait avoir des transports d'énergie en watts, ou au moins an K
kg / s (à multiplier par "Cp" ou "L"). On doit pouvoir recalculer le
transport intégré à partir des fichiers de sortie, mais c'est embêtant
(calcul de "cv").
-- Gathered files in directory Dissipation.
Revision
54 -
Directory Listing
Modified
Tue Dec 6 15:07:04 2011 UTC
(12 years, 8 months ago)
by
guez
Original Path:
trunk/libf/dyn3d
Removed Numerical Recipes procedure "ran1". Replaced calls to "ran1"
in "inidissip" by calls to intrinsic procedures.
Split file "interface_surf.f90" into a file with a module containing
only variables, "interface_surf", and single-procedure files. Gathered
files into directory "Interface_surf".
Added argument "cdivu" to "gradiv" and "gradiv2", "cdivh" to
"divgrad2" and "divgrad", and "crot" to "nxgraro2" and
"nxgrarot". "dissip" now uses variables "cdivu", "cdivh" and "crot"
from module "inidissip_m", so it can pass them to "gradiv2",
etc. Thanks to this modification, we avoid a circular dependency
betwwen "inidissip.f90" and "gradiv2.f90", etc. The value -1. used by
"gradiv2", for instance, during computation of eigenvalues is not the
value "cdivu" computed by "inidissip".
Extracted procedure "start_inter_3d" from module "startdyn", to its
own module.
In "inidissip", unrolled loop on "ii". I find it clearer now.
Moved variables "matriceun", "matriceus", "matricevn", "matricevs",
"matrinvn" and "matrinvs" from module "parafilt" to module
"inifilr_m". Moved variables "jfiltnu", "jfiltnv", "jfiltsu",
"jfiltsv" from module "coefils" to module "inifilr_m".
Revision
52 -
Directory Listing
Modified
Fri Sep 23 12:28:01 2011 UTC
(12 years, 11 months ago)
by
guez
Original Path:
trunk/libf/dyn3d
Split "conflx.f" into single-procedure files in directory "Conflx".
Split "cv_routines.f" into single-procedure files in directory
"CV_routines". Made module "cvparam" from included file
"cvparam.h". No included file other than "netcdf.inc" left in LMDZE.
Revision
49 -
Directory Listing
Modified
Wed Aug 24 11:43:14 2011 UTC
(13 years ago)
by
guez
Original Path:
trunk/libf/dyn3d
LMDZE now uses library Jumble.
Removed all calls to "flinget". Replaced calls to "flinget",
"flininfo", "flinopen_nozoom" by calls to NetCDF95 and Jumble.
Split file "cv_driver.f" into "cv_driver.f90", "cv_flag.f90" and
"cv_thermo.f90".
Bug fix: "QANCIEN" was read twice in "phyeytat0".
In "physiq", initialization of "d_t", "d_u", "d_v" was useless.
Revision
48 -
Directory Listing
Modified
Tue Jul 19 12:54:20 2011 UTC
(13 years, 1 month ago)
by
guez
Original Path:
trunk/libf/dyn3d
Replaced calls to "flinget" by calls to "NetCDF95".
Revision
47 -
Directory Listing
Modified
Fri Jul 1 15:00:48 2011 UTC
(13 years, 1 month ago)
by
guez
Original Path:
trunk/libf/dyn3d
Split "thermcell.f" and "cv3_routines.f".
Removed copies of files that are now in "L_util".
Moved "mva9" and "diagetpq" to their own files.
Unified variable names across procedures.
Revision
46 -
Directory Listing
Modified
Mon May 16 14:52:30 2011 UTC
(13 years, 3 months ago)
by
guez
Original Path:
trunk/libf/dyn3d
Removed procedure "psextbar". "psextbar" was called but the result of
the call was not used.
Revision
45 -
Directory Listing
Modified
Wed Apr 27 13:00:12 2011 UTC
(13 years, 3 months ago)
by
guez
Original Path:
trunk/libf/dyn3d
Split file "histwrite.f90" into "histwrite.f90", "histwrite_real.f90"
and "histvar_seq.f90".
Extracted documentation from "psextbar.f" into "psextbar.txt" (out of SVN).
Revision
44 -
Directory Listing
Modified
Wed Apr 13 12:29:18 2011 UTC
(13 years, 4 months ago)
by
guez
Original Path:
trunk/libf/dyn3d
Removed argument "pdteta" of "calfis", because it was not used.
Created module "conf_guide_m", containing procedure
"conf_guide". Moved module variables from "guide_m" to "conf_guide_m".
In module "getparam", removed "ini_getparam" and "fin_getparam" from
generic interface "getpar".
Created module variables in "tau2alpha_m" to replace common "comdxdy".
Revision
43 -
Directory Listing
Modified
Fri Apr 8 12:43:31 2011 UTC
(13 years, 4 months ago)
by
guez
Original Path:
trunk/libf/dyn3d
"start_init_phys" is now called directly by "etat0" instead of through
"start_init_dyn". "qsol_2d" is no longer a variable of module
"start_init_phys_m", it is an argument of
"start_init_phys". "start_init_dyn" now receives "tsol_2d" from
"etat0".
Split file "vlspltqs.f" into "vlspltqs.f90", "vlxqs.f90" and
""vlyqs.f90".
In "start_init_orog", replaced calls to "flin*" by calls to NetCDF95.
Revision
42 -
Directory Listing
Modified
Thu Mar 24 11:52:41 2011 UTC
(13 years, 5 months ago)
by
guez
Original Path:
trunk/libf/dyn3d
Removed programs "test_inter_barxy" and "test_disvert".
Added option "read" for "s_sampling" in "disvert".
Revision
40 -
Directory Listing
Modified
Tue Feb 22 13:49:36 2011 UTC
(13 years, 6 months ago)
by
guez
Original Path:
trunk/libf/dyn3d
"alpha" useless, always 0, in "exner_hyb".
Revision
39 -
Directory Listing
Modified
Tue Jan 25 15:11:05 2011 UTC
(13 years, 6 months ago)
by
guez
Original Path:
trunk/libf/dyn3d
"pi" comes from "nr_util". Removed subroutine "initialize" in module
"comconst".
Copied the content of "fxy_sin.h" into "fxysinus", instead of getting
it from an "include" line. Removed file "fxy_sin.h".
"ps" has rank 2 in "gcm" and "dynetat0".
Assumed-shape for argument "q" of "integrd".
Revision
38 -
Directory Listing
Modified
Thu Jan 6 17:52:19 2011 UTC
(13 years, 7 months ago)
by
guez
Original Path:
trunk/libf/dyn3d
Extracted ASCII art from "inigeom" into a separate text file in the
documentation.
"test_disvert" now creates a separate file for layer thicknesses.
Moved variables from module "yomcst" to module "suphec_m" because this
is where those variables are defined. Kept in "yomcst" only parameters
of Earth orbit. Gave the attribute "parameter" to some variables of
module "suphec_m".
Variables of module "yoethf" were defined in procedure "suphec". Moved
these definitions to a new procedure "yoethf" in module "yoethf_m".
Revision
37 -
Directory Listing
Modified
Tue Dec 21 15:45:48 2010 UTC
(13 years, 8 months ago)
by
guez
Original Path:
trunk/libf/dyn3d
Inlined procedure "pression".
Split "guide.f90" into "guide.f90" and "tau2alpha.f90". Split
"read_reanalyse.f" into single-procedure files in directory
"Read_reanalyse".
Useless copy of variables in "iniphysiq". Directly define module
variables in "gcm" and remove procedure "iniphysiq".
Added "pressure-altitude" in "test_disvert".
Revision
35 -
Directory Listing
Modified
Tue Jun 8 15:37:21 2010 UTC
(14 years, 2 months ago)
by
guez
Original Path:
trunk/libf/dyn3d
Created intermediary variable for meridional wind in "calfis". Removed
unused variables.
Removed argument "firstcal" of "physiq", made it a local
variable. Removed unused argument "v" of "phytrac".
Revision
34 -
Directory Listing
Modified
Wed Jun 2 11:01:12 2010 UTC
(14 years, 2 months ago)
by
guez
Original Path:
trunk/libf/dyn3d
Split "ini_hist.f90" into single-procedure files.
In "calfis" and "physiq", removed dummy argument "nq" since "nq" must
be equal to "nqmx".
In "calfis", renamed dummy argument "pq" to "q", same name as actual
argument in "leapfrog". Renamed local variable "zqfi" to "qx", same
name as dummy argument in "physiq".
Removed arguments "itop_con" and "ibas_con" of "phytrac", which were
not used.
Revision
33 -
Directory Listing
Modified
Fri Apr 9 10:56:14 2010 UTC
(14 years, 4 months ago)
by
guez
Original Path:
trunk/libf/dyn3d
Test namelist input in procedure "conf_gcm" rather than program unit
"gcm".
Compute "time" in procedure "sortvarc" rather than "leapfrog".
Rewrote "leapfrog" with a single loop on "itau" instead of two nested
loops on number of periodic matsuno-leapfrog cycles and leapfrog
iterations.
Revision
32 -
Directory Listing
Modified
Tue Apr 6 17:52:58 2010 UTC
(14 years, 4 months ago)
by
guez
Original Path:
trunk/libf/dyn3d
Split "stringop.f90" into single-procedure files. Gathered files in directory
"IOIPSL/Stringop".
Split "flincom.f90" into "flincom.f90" and "flinget.f90". Removed
unused procedures from module "flincom". Removed unused argument
"filename" of procedure "flinopen_nozoom".
Removed unused files.
Split "grid_change.f90" into "grid_change.f90" and
"gr_phy_write_3d.f90".
Removed unused procedures from modules "calendar", "ioipslmpp",
"grid_atob", "gath_cpl" and "getincom". Removed unused procedures in
files "ppm3d.f" and "thermcell.f".
Split "mathelp.f90" into "mathelp.f90" and "mathop.f90".
Removed unused variable "dpres" of module "comvert".
Use argument "itau" instead of local variables "iadvtr" and "first" to
control algorithm in procedure "fluxstokenc".
Removed unused arguments of procedure "integrd".
Removed useless computations at the end of procedure "leapfrog".
Merged common block "matrfil" into module "parafilt".
Revision
31 -
Directory Listing
Modified
Thu Apr 1 14:59:19 2010 UTC
(14 years, 4 months ago)
by
guez
Original Path:
trunk/libf/dyn3d
Split "vlsplt.f" in single-procedure files. Gathered the files in
directory "dyn3d/Vlsplt".
Defined "pbarum(:, 1, :)" and "pbarum(:, jjm + 1, :)" in procedure
"groupe".
Revision
30 -
Directory Listing
Modified
Thu Apr 1 09:07:28 2010 UTC
(14 years, 4 months ago)
by
guez
Original Path:
trunk/libf/dyn3d
Imported Source files of the external library "IOIPSL_Lionel" into
"libf/IOIPSL".
Split "cray.f90" into "scopy.f90" and "ssum.f90".
Rewrote "leapfrog" in order to have a clearer algorithmic structure.
Revision
29 -
Directory Listing
Modified
Tue Mar 30 10:44:42 2010 UTC
(14 years, 4 months ago)
by
guez
Original Path:
trunk/libf/dyn3d
In "leapfrog", transformed some arrays with a single dimension for horizontal
position into arrays with two horizontal dimensions. Simplified the
computation of potential temperature and surface pressure at the
poles.
Revision
28 -
Directory Listing
Modified
Fri Mar 26 18:33:04 2010 UTC
(14 years, 5 months ago)
by
guez
Original Path:
trunk/libf/dyn3d
Removed unused "diagedyn.f" and "undefSTD.f".
In "etat0", the variable "dt" of module "temps" was defined from
"landicered.nc", which was meaningless and useless. Replaced "dt" by a
local trash variable.
Removed variable "dt" from module "temps" and created instead a local
variable of "leapfrog" and an argument of "integrd".
Revision
27 -
Directory Listing
Modified
Thu Mar 25 14:29:07 2010 UTC
(14 years, 5 months ago)
by
guez
Original Path:
trunk/libf/dyn3d
"dyn3d" and "filtrez" do not contain any included file so make rules
have been updated.
"comdissip.f90" was useless, removed it.
"dynredem0" wrote undefined value in "controle(31)", that was
overwritten by "dynredem1". Now "dynredem0" just writes 0 to
"controle(31)".
Removed arguments of "inidissip". "inidissip" now accesses the
variables by use association.
In program "etat0_lim", "itaufin" is not defined so "dynredem1" wrote
undefined value to "controle(31)". Added argument "itau" of
"dynredem1" to correct that.
"itaufin" does not need to be a module variable (of "temps"), made it
a local variable of "leapfrog".
Removed calls to "diagedyn" from "leapfrog".
Revision
26 -
Directory Listing
Modified
Tue Mar 9 15:27:15 2010 UTC
(14 years, 5 months ago)
by
guez
Original Path:
trunk/libf/dyn3d
Moved variable "dtdiss" from module "comconst", variable "idissip"
from module "conf_gcm_m" and all variables from module "comdissipn" to
module "inidissip_m". "inidissip" creates file
"inidissip.csv". "idissip" is no longer read from a namelist. Removed
useless computation of "dtdiss" in procedure "iniconst".
Revision
25 -
Directory Listing
Modified
Fri Mar 5 16:43:45 2010 UTC
(14 years, 5 months ago)
by
guez
Original Path:
trunk/libf/dyn3d
Simplified "etat0_lim.sh" and "gcm.sh" because the full versions
depended on personal arrangements for directories and machines.
Translated included files into modules. Encapsulated procedures into modules.
Moved variables from module "comgeom" to local variables of
"inigeom". Deleted some unused variables in "comgeom".
Moved variable "day_ini" from module "temps" to module "dynetat0_m".
Removed useless test on variable "time" and useless "close" statement
in procedure "leapfrog".
Removed useless call to "inigeom" in procedure "limit".
Revision
24 -
Directory Listing
Modified
Wed Mar 3 13:23:49 2010 UTC
(14 years, 5 months ago)
by
guez
Original Path:
trunk/libf/dyn3d
Created directory "phylmd/Radlwsw". Split "radlwsw.f" in files
containing a single procedure.
Removed variable "itaufinp1" in "leapfrog".
Revision
23 -
Directory Listing
Modified
Mon Dec 14 15:25:16 2009 UTC
(14 years, 8 months ago)
by
guez
Original Path:
trunk/libf/dyn3d
Split "orografi.f": one file for each procedure. Put the created files
in new directory "Orography".
Removed argument "vcov" of procedure "sortvarc". Removed arguments
"itau" and "time" of procedure "caldyn0". Removed arguments "itau",
"time" and "vcov" of procedure "sortvarc0".
Removed argument "time" of procedure "dynredem1". Removed NetCDF
variable "temps" in files "start.nc" and "restart.nc", because its
value is always 0.
Removed argument "nq" of procedures "iniadvtrac" and "leapfrog". The
number of "tracers read in "traceur.def" must now be equal to "nqmx",
or "nqmx" must equal 4 if there is no file "traceur.def". Replaced
variable "nq" by constant "nqmx" in "leapfrog".
NetCDF variable for ozone field in "coefoz.nc" must now be called
"tro3" instead of "r".
Fixed bug in "zenang".
Revision
20 -
Directory Listing
Modified
Wed Oct 15 16:19:57 2008 UTC
(15 years, 10 months ago)
by
guez
Original Path:
trunk/libf/dyn3d
Deleted argument "presnivs" of "physiq", "ini_histhf", "ini_histhf3d",
"ini_histday", "ini_histins", "ini_histrac", "phytrac". Access it from
"comvert" instead.
Replaced calls to NetCDF Fortran 77 interface by calls to Fortran 90
interface or to NetCDF95.
Procedure "gr_phy_write_3d" now works with a variable of arbitrary
size in the second dimension.
Annotated use statements with "only" clause.
Replaced calls to NetCDF interface version 2 by calls to Fortran 90
interface in "guide.f90" and "read_reanalyse.f".
In "write_histrac", replaced calls to "gr_fi_ecrit" by calls to
"gr_phy_write_2d" and "gr_phy_write_3d".
Revision
18 -
Directory Listing
Modified
Thu Aug 7 12:29:13 2008 UTC
(16 years ago)
by
guez
Original Path:
trunk/libf/dyn3d
In module "regr_pr", rewrote scanning of horizontal positions as a
single set of loops, using a mask.
Added some "intent" attributes.
In "dynredem0", replaced calls to Fortran 77 interface of NetCDF by
calls to NetCDF95. Removed calls to "nf_redef", regrouped all writing
operations. In "dynredem1", replaced some calls to Fortran 77
interface of NetCDF by calls to Fortran 90 interface.
Renamed variable "nqmax" to "nq_phys".
In "physiq", if "nq >= 5" then "wo" is computed from the
parameterization of "Cariolle".
Revision
15 -
Directory Listing
Modified
Fri Aug 1 15:24:12 2008 UTC
(16 years ago)
by
guez
Original Path:
trunk/libf/dyn3d
-- Minor modification of input/output:
Added variable "Sigma_O3_Royer" to "histday.nc". "ecrit_day" is not
modified in "physiq". Removed variables "pyu1", "pyv1", "ftsol1",
"ftsol2", "ftsol3", "ftsol4", "psrf1", "psrf2", "psrf3", "psrf4"
"mfu", "mfd", "en_u", "en_d", "de_d", "de_u", "coefh" from
"histrac.nc".
Variable "raz_date" of module "conf_gcm_m" has logical type instead of
integer type.
-- Should not change any result at run time:
Modified calls to "IOIPSL_Lionel" procedures because the interfaces of
these procedures have been simplified.
Changed name of variable in module "start_init_orog_m": "masque" to
"mask".
Created a module containing procedure "phyredem".
Removed arguments "punjours", "pdayref" and "ptimestep" of procedure
"iniphysiq".
Renamed procedure "gr_phy_write" to "gr_phy_write_2d". Created
procedure "gr_phy_write_3d".
Removed procedures "ini_undefstd", "moy_undefSTD", "calcul_STDlev",
"calcul_divers".
Revision
13 -
Directory Listing
Modified
Fri Jul 25 19:59:34 2008 UTC
(16 years, 1 month ago)
by
guez
Original Path:
trunk/libf/dyn3d
-- Minor change of behaviour:
"etat0" does not compute "rugsrel" nor "radpas". Deleted arguments
"radpas" and "rugsrel" of "phyredem". Deleted argument "rugsrel" of
"phyetat0". "startphy.nc" does not contain the variable "RUGSREL". In
"physiq", "rugoro" is set to 0 if not "ok_orodr". The whole program
"etat0_lim" does not use "clesphys2".
-- Minor modification of input/output:
Created subroutine "read_clesphys2". Variables of "clesphys2" are read
in "read_clesphys2" instead of "conf_gcm". "printflag" does not print
variables of "clesphys2".
-- Should not change any result at run time:
References to module "numer_rec" instead of individual modules of
"Numer_rec_Lionel".
Deleted argument "clesphy0" of "calfis", "physiq", "conf_gcm",
"leapfrog", "phyetat0". Deleted variable "clesphy0" in
"gcm". "phyetat0" does not modify variables of "clesphys2".
The program unit "gcm" does not modify "itau_phy".
Added some "intent" attributes.
"regr11_lint" does not call "polint".
Revision
12 -
Directory Listing
Modified
Mon Jul 21 16:05:07 2008 UTC
(16 years, 1 month ago)
by
guez
Original Path:
trunk/libf/dyn3d
-- Minor modification of input/output:
Created procedure "read_logic". Variables of module "logic" are read
by "read_logic" instead of "conf_gcm". Variable "offline" of module
"conf_gcm" is read from namelist instead of "*.def".
Deleted arguments "dtime", "co2_ppm_etat0", "solaire_etat0",
"tabcntr0" and local variables "radpas", "tab_cntrl" of
"phyetat0". "phyetat0" does not read "controle" in "startphy.nc" any
longer. "phyetat0" now reads global attribute "itau_phy" from
"startphy.nc". "phyredem" does not create variable "controle" in
"startphy.nc" any longer. "phyredem" now writes global attribute
"itau_phy" of "startphy.nc". Deleted argument "tabcntr0" of
"printflag". Removed diagnostic messages written by "printflag" for
comparison of the variable "controle" of "startphy.nc" and the
variables read from "*.def" or namelist input.
-- Removing unwanted functionality:
Removed variable "lunout" from module "iniprint", replaced everywhere
by standard output.
Removed case "ocean == 'couple'" in "clmain", "interfsurf_hq" and
"physiq". Removed procedure "interfoce_cpl".
-- Should not change anything at run time:
Automated creation of graphs in documentation. More documentation on
input files.
Converted Fortran files to free format: "phyredem.f90", "printflag.f90".
Split module "clesphy" into "clesphys" and "clesphys2".
Removed variables "conser", "leapf", "forward", "apphys", "apdiss" and
"statcl" from module "logic". Added arguments "conser" to "advect",
"leapf" to "integrd". Added local variables "forward", "leapf",
"apphys", "conser", "apdiss" in "leapfrog".
Added intent attributes.
Deleted arguments "dtime" of "phyredem", "pdtime" of "flxdtdq", "sh"
of "phytrac", "dt" of "yamada".
Deleted local variables "dtime", "co2_ppm_etat0", "solaire_etat0",
"length", "tabcntr0" in "physiq". Replaced all references to "dtime"
by references to "pdtphys".
Revision
10 -
Directory Listing
Modified
Fri Apr 18 14:45:53 2008 UTC
(16 years, 4 months ago)
by
guez
Original Path:
trunk/libf/dyn3d
Added NetCDF directory "/home/guez/include" in "g95.mk" and
"nag_tools.mk".
Added some "intent" attributes in "PVtheta", "advtrac", "caladvtrac",
"calfis", "diagedyn", "dissip", "vlspltqs", "aeropt", "ajsec",
"calltherm", "clmain", "cltrac", "cltracrn", "concvl", "conema3",
"conflx", "fisrtilp", "newmicro", "nuage", "diagcld1", "diagcld2",
"drag_noro", "lift_noro", "SUGWD", "physiq", "phytrac", "radlwsw", "thermcell".
Removed the case "ierr == 0" in "abort_gcm"; moved call to "histclo"
and messages for end of run from "abort_gcm" to "gcm"; replaced call
to "abort_gcm" in "leapfrog" by exit from outer loop.
In "calfis": removed argument "pp" and variable "unskap"; changed
"pksurcp" from scalar to rank 2; use "pressure_var"; rewrote
computation of "zplev", "zplay", "ztfi", "pcvgt" using "dyn_phy";
added computation of "pls".
Removed unused variable in "dynredem0".
In "exner_hyb": changed "dellta" from scalar to rank 1; replaced call
to "ssum" by call to "sum"; removed variables "xpn" and "xps";
replaced some loops by array expressions.
In "leapfrog": use "pressure_var"; deleted variables "p", "longcles".
Converted common blocks "YOECUMF", "YOEGWD" to modules.
Removed argument "pplay" in "cvltr", "diagetpq", "nflxtr".
Created module "raddimlw" from include file "raddimlw.h".
Corrected call to "new_unit" in "test_disvert".
Revision
9 -
Directory Listing
Modified
Mon Mar 31 13:58:05 2008 UTC
(16 years, 4 months ago)
by
guez
Original Path:
trunk/libf/dyn3d
New variables "*_dir" in "g95.mk".
Corrected some bugs: "etat0_lim" works, but not "gcm".
Revision
8 -
Directory Listing
Modified
Mon Mar 31 12:51:21 2008 UTC
(16 years, 4 months ago)
by
guez
Original Path:
trunk/libf/dyn3d
This revision is not in working order. Pending some moving of files.
Moving files around.
Revision
7 -
Directory Listing
Modified
Mon Mar 31 12:24:17 2008 UTC
(16 years, 4 months ago)
by
guez
Original Path:
trunk/libf/dyn3d
This revision is not in working order. Pending some moving of files.
Important changes. In the program "etat0_lim": ozone coefficients from
Mobidic are regridded in time instead of pressure ; consequences in
"etat0". In the program "gcm", ozone coefficients from Mobidic are
read once per day only for the current day and regridded in pressure ;
consequences in "o3_chem_m", "regr_pr_coefoz", "phytrac" and
"regr_pr_comb_coefoz_m".
NetCDF95 is a library and does not export NetCDF.
New variables "nag_gl_options", "nag_fcalls_options" and
"nag_cross_options" in "nag_tools.mk".
"check_coefoz.jnl" rewritten entirely for new version of
"coefoz_LMDZ.nc".
Target "obj_etat0_lim" moved from "GNUmakefile" to "nag_rules.mk".
Added some "intent" attributes in "calfis", "clmain", "clqh",
"cltrac", "cltracrn", "cvltr", "ini_undefSTD", "moy_undefSTD",
"nflxtr", "phystokenc", "phytrac", "readsulfate", "readsulfate_preind"
and "undefSTD".
In "dynetat0", "dynredem0" and "gcm", "phis" has rank 2 instead of
1. "phis" has assumed shape in "dynredem0".
Added module containing "dynredem0". Changed some calls with NetCDF
Fortran 77 interface to calls with NetCDF95 interface.
Replaced calls to "ssum" by calls to "sum" in "inigeom".
In "make.sh", new option "-c" to change compiler.
In "aaam_bud", argument "rjour" deleted.
In "physiq": renamed some variables; deleted variable "xjour".
In "phytrac": renamed some variables; new argument "lmt_pas".
Revision
5 -
Directory Listing
Modified
Mon Mar 3 16:32:04 2008 UTC
(16 years, 5 months ago)
by
guez
Original Path:
trunk/libf/dyn3d
Created module from included file parafilt.
Converted caldyn0 to free format.
Added a rule to create cross-references with NAG.
Added optional attribute in iniadvtrac.
Suppressed argument nq in dynredem0 and dynredem1, using nqmx instead.
Replaced some NetCDF calls by netcdf95 calls in dynredem0.
Added intent attribute in dynredem0 and dynredem1.
Annotated use statements with only clause, in dynredem1.
Suppressed variable nq and argument of iniadvtrac in etat0.
Added test on nqmx in etat0.