[MITgcm-devel] coare bulk, exf, and cheapaml

Gael Forget gforget at MIT.EDU
Wed Aug 1 19:15:36 EDT 2012


Bruno,

thanks a lot for the routine. I had a first look at the code. 
I have not tried to run it yet, and there is a couple 
other codes I need to finish first before I can spend more 
time on coare. You are fast! Hopefully I will get to test 
run the coare/exf routine early next week. 

In the mean time, here are some things I noted though :
- it would be better, I think, to copy 'wspeed' to 'du' directly out of exf_wind.F
  Indeed exf allows to (1) run with or without relative wind (useRelativeWind)
  (2) specify separately wspeed (used for heat fluxes) and stresses (used 
  as momentum forcing). We may want to keep those options available 
  with coare bulks. At first glance the only case when wspeed as computed by 
  exf_wind.F seems inadequate to use in coare is wspeedfile .EQ. ' ' and 
  #undef ALLOW_ATM_WIND (to be double checked).
- the computation of 'du' in your code seems to miss the fact that 
  uvel/vvel are staggered compared with uwind/vwind (see exf_getffields.F).
- uwind/vwind in exf should not be used outside of ifdef ALLOW_ATM_WIND
  brakets, since they are not read in exf_getffields.F otherwise.
- if useRelativeWind is true then exf_getffields.F already subtracts uvel/vvel from
  uwind/vwind, so subtracting it a second time in coare would be wrong.
- a lot of params are hard-coded in coare; we will need to do something (warning? 
  stop?) when a user specificies values in data.exf that will be discarded.

Cheers,
Gael


On Jul 30, 2012, at 5:23 PM, Deremble, Bruno wrote:

> Hi Gael,
> 
> attached is COARE 4.0 for EXF. this routine can be interchanged with EXF_BULKFORMULAE in exf_getforcing.
> I added a flag  ALLOW_BULKCOARE to put in EXF_OPTIONS.h.
> 
> a few things:
> -the fluxes have the same sign (as large&pond82) !!
> -not exactly the same magnitude
> - coare 4 is extremely slow compare to LP82. maybe due to the number of iteration (6 in coare4 and 2 in LP82). maybe we should discuss that with J. Edson.
> - many parameters can be put in EXF_CONSTANTS.h --- I haven't done it to not mess up everything
> 
> can you do some tests on your side just to double check?
> 
> bruno
> 
> 
> ________________________________________
> From: Gael Forget [gforget at MIT.EDU]
> Sent: Monday, July 30, 2012 12:20 PM
> To: MITgcm-devel at mitgcm.org
> Cc: Deremble, Bruno
> Subject: coare bulk, exf, and cheapaml
> 
> Bruno,
> 
> I am transferring this thread to the devel list.
> 
> Jean Michel and I agreed that the first thing we need
> is a verification experiment that includes cheapaml. This will
> make it much easier for anyone to compile and run cheapaml,
> and will allow us to proceed with/keep track of future code revisions.
> 
> Can you send us a working setup to start from?
> 
> Typically something like
> http://mitgcm.org/viewvc/MITgcm/MITgcm/verification/tutorial_advection_in_gyre/code/      (option files, SIZE.h, packages.conf)
> http://mitgcm.org/viewvc/MITgcm/MITgcm/verification/tutorial_advection_in_gyre/input/   (data and other namelists)
> and inputs fields for initial conditions and boundary conditions. It would be best if it required just a few cpus.
> Once we get it compiled and running here, we will go over details.
> 
> The next two baby steps would be :
> 1) update to coare4.0 in cheapaml.
> 2) copy it into exf in a form similar to pkg/exf/exf_bulkformulae.F
> 
> Cheers,
> Gael
> 
> ps : since you were just added to the devel list you should receive
>       this email from MITgcm-devel. Assuming you did, it is sufficient
>       to reply to this address. I added you in copy just in case ...
> 
> 
> On Jul 30, 2012, at 9:11 AM, Gael Forget wrote:
> 
>> Hi Jean Michel,
>> 
>> on friday I was talking with Bruno Deremble about the cheapaml pkg and how to
>> improve its integration into MITgcm. Bruno is willing to take on the coding.
>> 
>> The context in which this came up is that there is a version of the coare bulk
>> formulae algorithm (dear to the CLIMODE project) in cheapaml, that could
>> be used beyond cheapaml. We would like to allow switch between that and
>> Large an Pond in realistic runs (using exf). We further would like to allow an easy switch from
>> simple bulk forcing to cheapaml. So the first goal would be to either move that coare bulk
>> routine to exf OR allow exf to call it via cheapaml. I thought the former is the better option,
>> since that would allow us to remove not only that routine but also (in a subsequent revision)
>> the 'copy' of the Large and Pond bulk, and redundant I/O codes in cheapaml. Not sure wether
>> we need to tie cheapaml to exf, or wether model/src can provide all of the inputs to cheapaml.
>> But I thought it would be practical if cheapatml got its inputs from exf.
>> 
>> Does this make sense to you? Is there a better way?
>> 
>> There are several other parts of cheapatml that may be redundant (?) and probably
>> should be reviewed. Some AB time stepping, gad, obcs, pickup codes. In general I told
>> Bruno to try to rely on the existing pkgs when possible, and avoid local code copies.
>> Right?
>> 
>> Cheers,
>> Gael
>> 
>> ps 1 : m
>> ps 2 : Jean-Michel : should we start this on devel list? Bruno : I believe you can suscribe at
>> http://mitgcm.org/mailman/listinfo/mitgcm-devel
>> 
>> 
> 
> 
> <exf_bulkcoare.F>_______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-devel




More information about the MITgcm-devel mailing list