ticket_215_ticket_215_TicketSummary_UseOfUKMOODBSource - ACCESS-NRI/accessdev-Trac-archive GitHub Wiki

Use of Odb-1.0.0-Source-meto instead of Odb-1.0.0-Source - email from David Davies

I've attached the ODB package that we use including my changes. I said there was nothing functional, I did actually re-add a couple of things that had been removed: simul obs to odb and odbless. These are not needed to build OPS but we do use them sometimes from the command line and we do have a wrapper script for simul obs that is part of the OPS build

You should be able to compile OPS without the NEMO source by a) not setting the FDBK_OUT pre-processor key and b) fixing the dependencies to prevent dependencies on the NEMO code from being generated. The config file src/config/meto-x86_64-nag/ops_x86_64_nag_clean.cfg is a config that does this, it is a bit complicated following all the include files but basically it involves adding these files:

Ops_AltFeedbackWriteNetCDF.interface Ops_OceanSoundFeedbackWriteNetCDF.interface Ops_SeaIceFeedbackWriteNetCDF.interface Ops_SSTFeedbackWriteNetCDF.interface

to the build.prop{no-dep.include} list. The NEMO code is only used to produce a particular flavour of NetCDF output file for some ocean observation types. If you are not interested in these output files you might find it simpler to just not compile the NEMO code.

The changes I made were porting change for the NAG compiler; basically the NEMO code includes non standard FLUSH function calls that NAG doesn't understand, my branch replaces them with Fortran 2003 FLUSH statements. I offered to put them in the NEMO but they said no.

David Davies


From: Jin Lee [[email protected]] Sent: 24 July 2015 14:39 To: Davies, David Cc: Susan Rennie Subject: Re: obtaining OPS source - OPS31.0.0 [SEC=UNCLASSIFIED]

Hi David,

"The changes I made were for porting purposes, nothing functional, I can send you those changes if you like."

Would you be kind enough to send me the changes. I would like to know whether it's required in our site.

By the way, I sent an email to Adam to seek clarification on NEMO source (defined in "common/core.cfg"):

$nemo_rev = 10330 # Vn3.4 modified branch ... branches/test/frwd/vn3.4_FixNemo@$nemo_rev

I just finished registering with NEMO and now can access the NEMO SVN repository. The closest source to "Vn3.4" on the NEMO repository seems to be,

https://forge.ipsl.jussieu.fr/nemo/svn/branches/2012/dev_v3_4_STABLE_2012

However, the source used for building OPS32.0.0 (branches/test/frwd/vn3.4_FixNemo@10330) seems to have a fix applied to it. Can you please tell me who I need to ask to obtain the Met Office source, "branches/test/frwd/vn3.4_FixNemo@10330"?

Thank you for help.

Regards,

Jin


From: Davies, David [email protected] Sent: Thursday, 23 July 2015 11:16 PM To: Jin Lee Cc: Susan Rennie Subject: RE: obtaining OPS source - OPS31.0.0 [SEC=UNCLASSIFIED]

The ODB versions used are 1.0.0 for ODB (with some modifications) and ODB API 0.10.3. They are not the same thing; I don't know if they will every be combined. The ODB package contains the code for the original ODB format, including the Fortran interface, the backend, the SQL - C converted and various scripts like odbdup, odbless, odbsql for command line usage. The changes I made were for porting purposes, nothing functional, I can send you those changes if you like. We build it inline with the code but you don't have to do that if it is easier to generate a separate installation and link that, it is up to you. The ODB API package contains the libraries for dealing with the new ODB2/ODA format, the odb and odb_migrator executables and the python interface. We handle this by building the installation separately and linking to it rather than building it inline except there is a single Fortran file for interfacing with Fortran programs, we build that file only as part of the OPS build (as it is compiler dependent whereas the library is not).

There has recently be an ODB API 0.10.5 released. I haven't tried it yet. It seems that eckit has been removed from it but is still required; they haven't released that as a separate library yet. It seems that the only way to build ODB API 0.10.5 at the moment is to build ODB API 0.10.3 as well and make the ODB API 0.10.5 install use the 0.10.3 version of eckit.

Let me know if you need me to send anything.

David Davies

...