When using the adjoint model, Rad+Nud boundary can't be used

Report or discuss software problems and other woes

Moderators: arango, robertson

Post Reply
Message
Author
LiangPeng
Posts: 7
Joined: Wed Aug 21, 2013 2:38 pm
Location: Institute of Oceanology,CAOS

When using the adjoint model, Rad+Nud boundary can't be used

#1 Post by LiangPeng » Thu Oct 23, 2014 2:44 am

Dir Sir:
When runnning the adjoint model, I find that if I set the adjoint boundary conditions like this:
ad_LBC(isFsur) == Cha Cha Cha Cha
ad_LBC(isUbar) == Fla Fla Fla Fla
ad_LBC(isVbar) == Fla Fla Fla Fla
ad_LBC(isUvel) == RadNud RadNud RadNud RadNud
ad_LBC(isVvel) == RadNud RadNud RadNud RadNud
ad_LBC(isMtke) == Clo Clo Clo Clo !Closed KE
ad_LBC(isTvar) == RadNud RadNud RadNud RadNud \
RadNud RadNud RadNud RadNud

The model will output the error message is:
CHECKADJ - unsupported option in adjoint-based algorithms: ad_LBC(ieast,isUvel)
REASON: not finished, FATAL ERROR.
CHECKADJ - unsupported option in adjoint-based algorithms: ad_LBC(iwest,isUvel)
REASON: not finished, FATAL ERROR.

CHECKADJ - unsupported option in adjoint-based algorithms: ad_LBC(isouth,isUvel)
REASON: not finished, FATAL ERROR.

CHECKADJ - unsupported option in adjoint-based algorithms: ad_LBC(inorth,isUvel)
REASON: not finished, FATAL ERROR.

CHECKADJ - unsupported option in adjoint-based algorithms: ad_LBC(ieast,isVvel)
REASON: not finished, FATAL ERROR.

CHECKADJ - unsupported option in adjoint-based algorithms: ad_LBC(iwest,isVvel)
REASON: not finished, FATAL ERROR.

CHECKADJ - unsupported option in adjoint-based algorithms: ad_LBC(isouth,isVvel)
REASON: not finished, FATAL ERROR.

CHECKADJ - unsupported option in adjoint-based algorithms: ad_LBC(inorth,isVvel)
REASON: not finished, FATAL ERROR.

Is this mean the Rad+Nud adjoint boundary code hasn't been finished(my version is ROMS 3.7)?If this boubdary has been finished, how to define the Rad+Nud?
Thank you. Any suggestion will be appreciated.

User avatar
jivica
Posts: 130
Joined: Mon May 05, 2003 2:41 pm
Location: The University of Western Australia, Perth, Australia

Re: When using the adjoint model, Rad+Nud boundary can't be

#2 Post by jivica » Thu Oct 23, 2014 6:44 am

This is not a problem in forward nonlinear model setup because you can radiate outside, however if using adjoint back in time then you are in trouble. That is basically what it is, so use clamped boundary and then you can get boundary increments from data assimilation fixing that if needed...
Have a cases for DA that Hernan and Andy put into ROMS repo. WC13,
there are all sorts of examples and it is really good commented.

I.

lmp4
Posts: 38
Joined: Tue Aug 12, 2014 8:32 pm
Location: Imperial College London

Re: When using the adjoint model, Rad+Nud boundary can't be

#3 Post by lmp4 » Thu Oct 23, 2014 10:17 am

I too came across this problem recently and after reading (
Phase II, Major Overhaul of ROMS Kernel to Include Nesting) concluded that RadNud simply should not be used for the adjoint and tangent linear models, so I use RadNud for the NLM and clamped for the ADM and TLM.
In 4D-Var data assimilation, this will allows us to have different lateral boundary conditions in the background nonlinear trajectory (outer loop) and adjoint and tangent linear models (inner loop). For example, in some applications is convenient to use radiation conditions in open boundaries in the nonlinear model. However, it is very difficult to use radiation conditions in the adjoint and tangent linear model because of stability and cumbersome storage of the inflow/outflow variables at every time step. We still need to think more about what to do when adjusting the lateral boundary condition (ADJUST_BOUNDARY) if different values are used for LBC and ad_LBC.
Taken from 'Phase II, Major Overhaul of ROMS Kernel to Include Nesting' (viewtopic.php?f=13&t=2401)

Post Reply