[Mitgcm-support] exch r4/r8 tidy up/cd scheme
mitgcm-support at dev.mitgcm.org
mitgcm-support at dev.mitgcm.org
Wed Jul 9 15:43:04 EDT 2003
The current exchange routines have a middle level that use
real*4 and real*8 declarations/names:
ls pkg/oldexchange/
CPP_EEMACROS.h exch_rl_recv_get_x.F exch_rs_recv_get_y.F exch_xy_r8.F
exch.F exch_rl_recv_get_y.F exch_rs_send_put_x.F exch_xyz_r4.F
exch_control.F exch_rl_send_put_x.F exch_rs_send_put_y.F exch_xyz_r8.F
exch_recv_get_x.F exch_rl_send_put_y.F exch_send_put_x.F
exch_recv_get_y.F exch_rs.F exch_send_put_y.F
exch_rl.F exch_rs_recv_get_x.F exch_xy_r4.F
even though the lower level routines called by them use the _RS/_RL
form again. That's easily titied up:
ls pkg/newoldexchange/
CPP_EEMACROS.h exch_rl_recv_get_x.F exch_rs_recv_get_y.F exch_xy_rs.F
exch.F exch_rl_recv_get_y.F exch_rs_send_put_x.F exch_xyz_rl.F
exch_control.F exch_rl_send_put_x.F exch_rs_send_put_y.F exch_xyz_rs.F
exch_recv_get_x.F exch_rl_send_put_y.F exch_send_put_x.F
exch_recv_get_y.F exch_rs.F exch_send_put_y.F
exch_rl.F exch_rs_recv_get_x.F exch_xy_rl.F
seems simple enough.
Adding the 8 permutations of exch_rl:
ls pkg/exchange/*_rl.F
exch_centered_rl.F exch_signed_b_rl.F exch_unsigned_b_rl.F
exch_nodes_rl.F exch_signed_c_rl.F exch_unsigned_c_rl.F
exch_signed_a_rl.F exch_unsigned_a_rl.F
but of course there's 8 more for exch_rs and then double that
many macros to deal with _xy and _xyz. Yuck!
Something unexpected: the CD scheme means we need an exch_signed_d_rl.F
too so that should make 10 permutations, 20 routines and 40 macros!
Thank God we don't need them all...
A.
More information about the MITgcm-support
mailing list