/[lmdze]/trunk/filtrez/inifgn.f
ViewVC logotype

Log of /trunk/filtrez/inifgn.f

Parent Directory Parent Directory | Revision Log Revision Log


Sticky Revision:
(Current path doesn't exist after revision 327)

Revision 265 - (view) (annotate) - [select for diffs]
Modified Tue Mar 20 09:35:59 2018 UTC (6 years, 1 month ago) by guez
File length: 2096 byte(s)
Diff to previous 254
Rename module dimens_m to dimensions.

Revision 254 - (view) (annotate) - [select for diffs]
Modified Mon Feb 5 10:39:38 2018 UTC (6 years, 2 months ago) by guez
File length: 2092 byte(s)
Diff to previous 170
Move Sources/* to root directory.

Revision 170 - (view) (annotate) - [select for diffs]
Modified Mon Sep 14 17:25:15 2015 UTC (8 years, 7 months ago) by guez
Original Path: trunk/Sources/filtrez/inifgn.f
File length: 2092 byte(s)
Diff to previous 167
Eignvectors computed by procedure jacobi are already normalized. No
need to call acc.


Revision 167 - (view) (annotate) - [select for diffs]
Modified Mon Aug 24 16:30:33 2015 UTC (8 years, 8 months ago) by guez
Original Path: trunk/Sources/filtrez/inifgn.f
File length: 2162 byte(s)
Diff to previous 161
Added program test_inifilr.

Encapsulated ppm3d into a module and added implicit none. Removed
unused argument dum.

Encountered a problem in procedure invert_zoom_x. With grossismx=2.9,
DZOOMX=0.3, taux=5, for xuv = -0.25, for i = 1, rtsafe fails because
fval is about 1e-16 instead of 0 at xval = pi. So distinguished the
cases abs_y = 0 or pi. Needed then to add argument beta to
invert_zoom_x.

Moved the output of eignvalues of differentiation matrix from inifilr
to inifgn, where they are computed.

Simpler definition of j1 in inifilr.


Revision 161 - (view) (annotate) - [select for diffs]
Modified Fri Jul 24 14:27:59 2015 UTC (8 years, 9 months ago) by guez
Original Path: trunk/Sources/filtrez/inifgn.f
File length: 1955 byte(s)
Diff to previous 154
rlon[uv] and rlat[uv] are already in start.nc.

Just encapsulated covcont in a module.

finvmaold was not used in leapfrog. Downgraded it from dummy argument
to local variable of SUBROUTINE integrd.

Simplified handling of mass in integrd: down from five 3-dimensional
arrays (masse, massem1, finvmaold, massescr and finvmasse) to three
(masse, massem1, finvmaold).


Revision 154 - (view) (annotate) - [select for diffs]
Modified Tue Jul 7 17:49:23 2015 UTC (8 years, 9 months ago) by guez
Original Path: trunk/Sources/filtrez/inifgn.f
File length: 1935 byte(s)
Diff to previous 153
Removed argument dtphys of physiq. Use it directly from comconst in
physiq instead.

Donwgraded variables eignfnu, eignfnv of module inifgn_m to dummy
arguments of SUBROUTINE inifgn. They were not used elsewhere than in
the calling procedure inifilr. Renamed argument dv of inifgn to eignval_v.

Made alboc and alboc_cd independent of the size of arguments. Now we
can call them only at indices knindex in interfsurf_hq, where we need
them. Fixed a bug in alboc_cd: rmu0 was modified, and the
corresponding actual argument in interfsurf_hq is an intent(in)
argument of interfsurf_hq.

Variables of size knon instead of klon in interfsur_lim and interfsurf_hq.

Removed argument alb_new of interfsurf_hq because it was the same than
alblw. Simplified test on cycle_diurne, following LMDZ.

Moved tests on nbapp_rad from physiq to read_clesphys2. No need for
separate counter itaprad, we can use itap. Define lmt_pas and radpas
from integer input parameters instead of real-type computed values.


Revision 153 - (view) (annotate) - [select for diffs]
Modified Tue Jun 23 18:26:18 2015 UTC (8 years, 10 months ago) by guez
Original Path: trunk/Sources/filtrez/inifgn.f
File length: 1365 byte(s)
Diff to previous 152
Changes results.


Revision 152 - (view) (annotate) - [select for diffs]
Modified Tue Jun 23 18:18:12 2015 UTC (8 years, 10 months ago) by guez
Original Path: trunk/Sources/filtrez/inifgn.f
File length: 1373 byte(s)
Diff to previous 151
Clarification in procedure inifgn. The cost is that we use 3 instead
of 2 local 2-dimensional arrays. eignfnv and eignfnu were used as
temporary arrays to compute input to jacobi before being used as
arguments of jacobi. The corresponding dummy argument is intent(out)
in jacobi. It is clearer to have eignfnv and eignfnu appear only as
arguments of jacobi.


Revision 151 - (view) (annotate) - [select for diffs]
Modified Tue Jun 23 15:14:20 2015 UTC (8 years, 10 months ago) by guez
Original Path: trunk/Sources/filtrez/inifgn.f
File length: 2024 byte(s)
Diff to previous 143
In procedure inifilr, only a part of the arrays modfrstu and modfrstv
were defined. Split these into 4 arrays that are fully defined and
used: modfrst[ns][uv].

Clarified the logic for the computation of jfilt[ns][uv]. Changed the
initial value of the search so that the initial values for northern
hemisphere and southern hemisphere cannot be the same.

Clarified the logic for the computation of modfrst[ns][uv]: removed
the cycle and exit instructions.


Revision 143 - (view) (annotate) - [select for diffs]
Modified Tue Jun 9 14:32:46 2015 UTC (8 years, 10 months ago) by guez
Original Path: trunk/Sources/filtrez/inifgn.f
File length: 1930 byte(s)
Diff to previous 140
Removed argument d of procedure acc. Was probably here just because
automatic arrays were unknown.

eigen_sort was eigsrt from Numerical Recipes.

In procedure inifilr, create file "eignvl.txt" instead of writing to
standard output.


Revision 140 - (view) (annotate) - [select for diffs]
Modified Fri Jun 5 18:58:06 2015 UTC (8 years, 11 months ago) by guez
Original Path: trunk/Sources/filtrez/inifgn.f
File length: 1973 byte(s)
Diff to previous 139
Changed unit of variables lat_min_guide and lat_max_guide from module
conf_guide_m from degrees to rad. Then we do not have to convert the
whole array rlat from rad to degrees in SUBROUTINE tau2alpha.

Removed some useless computations in inigeom.

Removed module coefils. Moved variables sddv, unsddv, sddu, unsddu,
eignfnu, eignfnv of module coefils to module inifgn_m. Downgraded
variables coefilu, coefilu2, coefilv, coefilv2, modfrstu, modfrstv of
module coefils to local variables of SUBROUTINE inifilr.

Write and read a 3-dimensional variable Tsoil in restartphy.nc and
startphy.nc instead of multiple variables for the different
subs-urfaces and soil layers. This does not allow any longer to
provide only the surface value in startphy.nc and spread it to other
layers. Instead, if necessary, pre-process the file startphy.nc to
spread the surface value.


Revision 139 - (view) (annotate) - [select for diffs]
Modified Tue May 26 17:46:03 2015 UTC (8 years, 11 months ago) by guez
Original Path: trunk/Sources/filtrez/inifgn.f
File length: 1896 byte(s)
Diff to previous 134
dynetat0 read rlonu, rlatu, rlonv, rlatv, cu_2d, cv_2d, aire_2d from
"start.nc" and then these variables were overwritten by
inigeom. Corrected this. Now, inigeom does not compute rlonu, rlatu,
rlonv and rlatv. Moreover, cu_2d, cv_2d, aire_2d are not written to
"restart.nc". Since xprimu, xprimv, xprimm025, xprimp025, rlatu1,
rlatu2, yprimu1, yprimu2 are computed at the same time as rlonu,
rlatu, rlonv, rlatv, and since it would not be convenient to separate
those computations, we decide to write xprimu, xprimv, xprimm025,
xprimp025, rlatu1, rlatu2, yprimu1, yprimu2 into "restart.nc", read
them from "start.nc" and not compute them in inigeom. So, in summary,
"start.nc" contains all the coordinates and their derivatives, and
inigeom only computes the 2D-variables.

Technical details:

Moved variables rlatu, rlonv, rlonu, rlatv, xprimu, xprimv from module
comgeom to module dynetat0_m. Upgraded local variables rlatu1,
yprimu1, rlatu2, yprimu2, xprimm025, xprimp025 of procedure inigeom to
variables of module dynetat0_m.

Removed unused local variable yprimu of procedure inigeom and
corresponding argument yyprimu of fyhyp.

Moved variables clat, clon, grossismx, grossismy, dzoomx, dzoomy,
taux, tauy from module serre to module dynetat0_m (since they are read
from "start.nc"). The default values are now defined in read_serre
instead of in the declarations. Changed name of module serre to
read_serre_m, no more module variable here.

The calls to fxhyp and fyhyp are moved from inigeom to etat0.

Side effects in programs other than gcm: etat0 and read_serre write
variables of module dynetat0; the programs test_fxyp and
test_inter_barxy need more source files.

Removed unused arguments len and nd of cv3_tracer. Removed unused
argument PPSOL of LWU.

Bug fix in test_inter_barxy: forgotten call to read_serre.


Revision 134 - (view) (annotate) - [select for diffs]
Modified Wed Apr 29 15:47:56 2015 UTC (9 years ago) by guez
Original Path: trunk/Sources/filtrez/inifgn.f
File length: 1893 byte(s)
Diff to previous 132
Sources inside, compilation outside.

Revision 132 - (view) (annotate) - [select for diffs]
Modified Fri Mar 20 16:31:06 2015 UTC (9 years, 1 month ago) by guez
File length: 1893 byte(s)
Diff to previous 121
Removed procedure jacobi, which was a copy of the file from Numerical
Recipes in Fortran 77. Refer to the Numer_Rec_95 library instead.

There was a strange line in procedure coordij: j cannot be equal to 0
after the loop on j.


Revision 121 - (view) (annotate) - [select for diffs]
Modified Wed Jan 28 16:10:02 2015 UTC (9 years, 3 months ago) by guez
File length: 1871 byte(s)
Diff to previous 113
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 113 - (view) (annotate) - [select for diffs]
Modified Thu Sep 18 19:56:46 2014 UTC (9 years, 7 months ago) by guez
File length: 1987 byte(s)
Diff to previous 82
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 82 - (view) (annotate) - [select for diffs]
Modified Wed Mar 5 14:57:53 2014 UTC (10 years, 2 months ago) by guez
File length: 2047 byte(s)
Copied from: trunk/filtrez/inifgn.f90 revision 81
Diff to previous 81
Changed all ".f90" suffixes to ".f".

Revision 81 - (view) (annotate) - [select for diffs]
Modified Wed Mar 5 14:38:41 2014 UTC (10 years, 2 months ago) by guez
Original Path: trunk/filtrez/inifgn.f90
File length: 2047 byte(s)
Copied from: trunk/filtrez/inifgn.f revision 80
Diff to previous 76
 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 76 - (view) (annotate) - [select for diffs]
Modified Fri Nov 15 18:45:49 2013 UTC (10 years, 5 months ago) by guez
File length: 2215 byte(s)
Diff to previous 25
Moved everything out of libf.

Revision 25 - (view) (annotate) - [select for diffs]
Modified Fri Mar 5 16:43:45 2010 UTC (14 years, 2 months ago) by guez
Original Path: trunk/libf/filtrez/inifgn.f
File length: 2215 byte(s)
Diff to previous 3
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 3 - (view) (annotate) - [select for diffs]
Added Wed Feb 27 13:16:39 2008 UTC (16 years, 2 months ago) by guez
Original Path: trunk/libf/filtrez/inifgn.f
File length: 2217 byte(s)
Initial import

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

  ViewVC Help
Powered by ViewVC 1.1.21