Closed jing-guo closed 2 years ago
Jing, thanks for this. Here is a question: why do you have changes in the active and available table files as compared to the what's in the develop branch?
Here is a question: why do you have changes in the active and available table files as compared to the what's in the develop branch?
They are fixes to convinfo.db/ files,
m
in entries <otype>
-per-line does not match actual entry counts. Often m
were supposed to be 0
, and remained 1
after someone (Will?) had removed the <otype>
. Regarding the use of a namelist
for the purpose. It was very easy format to use in Fortran. Now it was very powerful even for data input in a table form, where one may have found hard to do in Fortran 90 or earlier.
Similarly, namelist
was also used in pcscaling.db/ for implementation. The main idea is to avoid parsing data through hand coding.
I am finding out that to run the new code I have to have a namelist available ... that is mksi.x now needs that namelist; all good, but that means the gsiinfo.pl script needs to be changed - I can do that.
But I still don't quite understand what the role of this namelist is wrt setting an active channel off - will we have to also change the namelist? Best to chat about this ...
I am finding out that to run the new code I have to have a namelist available ... that is mksi.x now needs that namelist; all good, but that means the gsiinfo.pl script needs to be changed - I can do that.
I guess you can rename <>.nml
to <>.tbl
, if you want.
But I still don't quite understand what the role of this namelist is wrt setting an active channel off - will we have to also change the namelist? Best to chat about this ...
icldtable.nml
defines icld
values as a function of time.active.tbl
and those iuse<>.tbl
define iuse
values as a function of time.They refer to different variables, need to be specified separately. Certainly icld
would be meaningless if iuse
were set to <= 0
. So in the algorithm, mksi.x
first rewrites iuse
values from satinfo.tmpl
according to active.tbl
etc.. Then it rewrites icld
values according to icldtable.nml
.
mkis.x
was a code designed and developed when iuse
values were very simple, containing -1, 0, and 1 only. So there were available.tbl
and active.tbl
two files, one valid iuse
value per file. Then more iuse
values were defined, including 2, 3, 4 etc. One would wish we have had iuse
values specified in active.tbl
, but it is too late now. Managing and maintaining with many different iuse
configuration values is becoming awkward.
In this icld
case, we know ahead of time that multiple icld
values are expected. And I hope I have got the algorithm right this time.
Well, I made a mistake in setting up the run - so that's why it crashed - I realize I don't need a change anywhere else to simply reproduce previous behavior, but I am still puzzled as to whether icld as you coded is doing what I had envisioned. Perhaps we can chat tomorrow morning ... would 9pm be ok?
Yes. The key issue is indeed to confirm the algorithm against requirement.
I tested these and can confirm the changes are zero diff.
One problem remains, will this implementation solve the original expectation of managing icld
values for satinfo.txt
file?
If you need to have some changes, please let me know.
This branch is migrated from CVS GEOSadas revisions for issue #82. The earlier implementation was made on top of a 5_27 release. It is now rebase/merged to the most current develop branch (~5_29) with several minor corrections and some information added.