[cmor] 69/190: 2010-11-05 : added realm to gridspec file names 2010-11-05 : reverted ext_cell_measures to cell_measures

Alastair McKinstry mckinstry at moszumanska.debian.org
Tue Jul 21 12:54:39 UTC 2015


This is an automated email from the git hooks/post-receive script.

mckinstry pushed a commit to branch debian/master
in repository cmor.

commit cc56258fe334a3d678422660a00a453b303538b6
Author: Charles Doutriaux <doutriaux1 at al-dar-linux.(none)>
Date:   Fri Nov 5 16:34:37 2010 -0700

    2010-11-05 : added realm to gridspec file names
    2010-11-05 : reverted ext_cell_measures to cell_measures
---
 RELEASE-NOTES |  2 ++
 Src/cmor.c    | 52 +++++++++++++++++++++++++++-------------------------
 2 files changed, 29 insertions(+), 25 deletions(-)

diff --git a/RELEASE-NOTES b/RELEASE-NOTES
index 1172d5f..4c15f2b 100644
--- a/RELEASE-NOTES
+++ b/RELEASE-NOTES
@@ -1,3 +1,5 @@
+2010-11-05 : added realm to gridspec file names
+2010-11-05 : reverted ext_cell_measures to cell_measures
 2010-10-27 : edited the test for permission on output directory, used to fail if you had group write privileges but that wasnt your main group
 2010-10-22 : Tagging 2.4.0
 2010-10-22 : updated docs to reflect all these changes
diff --git a/Src/cmor.c b/Src/cmor.c
index 3899789..3c7a64d 100644
--- a/Src/cmor.c
+++ b/Src/cmor.c
@@ -84,9 +84,9 @@ void  cmor_check_forcing_validity(int table_id,char *value) {
     if (found==0) {
       sprintf(msg,"forcing attribute elt %i (%s) is not valid for table %s, valid values are:",i,bstr[i],cmor_tables[table_id].table_id);
       for(j=0;j<cmor_tables[table_id].nforcings;j++) {
-	strncat(msg," ",CMOR_MAX_STRING);
-	strncat(msg,cmor_tables[table_id].forcings[j],CMOR_MAX_STRING);
-	strncat(msg,",",CMOR_MAX_STRING);
+	strncat(msg," ",CMOR_MAX_STRING-strlen(msg));
+	strncat(msg,cmor_tables[table_id].forcings[j],CMOR_MAX_STRING-strlen(msg));
+	strncat(msg,",",CMOR_MAX_STRING-strlen(msg));
       }
       msg[strlen(msg)-1]='\0';
       cmor_handle_error(msg,CMOR_CRITICAL);
@@ -2066,27 +2066,27 @@ int cmor_write(int var_id,void *data, char type, char *suffix, int ntimes_passed
 
     }
 
-/*     /\* prepares the common suffix for all fixed file *\/ */
-/*     strcpy(ctmp2,"../../../../fx/"); */
-/*     /\* realm *\/ */
-/*     /\* first check if the variable itslef has a realm *\/ */
-/*     if (cmor_tables[cmor_vars[var_id].ref_table_id].vars[cmor_vars[var_id].ref_var_id].realm[0]!='\0') { */
-/*       /\* we want to copy only the first realm here *\/ */
-/*       for (i=0;i<strlen(cmor_tables[cmor_vars[var_id].ref_table_id].vars[cmor_vars[var_id].ref_var_id].realm);i++) { */
-/* 	if (cmor_tables[cmor_vars[var_id].ref_table_id].vars[cmor_vars[var_id].ref_var_id].realm[i]!=' ') { */
-/* 	  ctmp3[i]=cmor_tables[cmor_vars[var_id].ref_table_id].vars[cmor_vars[var_id].ref_var_id].realm[i]; */
-/* 	  ctmp3[i+1]='\0'; */
-/* 	} */
-/* 	else { */
-/* 	  break; */
-/* 	} */
-/*       } */
-/*       strncattrim(ctmp2,ctmp3,CMOR_MAX_STRING-strlen(ctmp2)); */
-/*     } */
-/*     else { /\*ok it didn't so we're using the value from the table *\/ */
-/*       strncattrim(ctmp2,cmor_tables[cmor_vars[var_id].ref_table_id].realm,CMOR_MAX_STRING-strlen(ctmp2)); */
-/*     } */
-/*     strncattrim(ctmp2,"/",CMOR_MAX_STRING-strlen(ctmp2)); */
+    /* prepares the common suffix for all fixed file */
+    strcpy(ctmp2,"");
+    /* realm */
+    /* first check if the variable itslef has a realm */
+    if (cmor_tables[cmor_vars[var_id].ref_table_id].vars[cmor_vars[var_id].ref_var_id].realm[0]!='\0') {
+      /* we want to copy only the first realm here */
+      for (i=0;i<strlen(cmor_tables[cmor_vars[var_id].ref_table_id].vars[cmor_vars[var_id].ref_var_id].realm);i++) {
+	if (cmor_tables[cmor_vars[var_id].ref_table_id].vars[cmor_vars[var_id].ref_var_id].realm[i]!=' ') {
+	  ctmp3[i]=cmor_tables[cmor_vars[var_id].ref_table_id].vars[cmor_vars[var_id].ref_var_id].realm[i];
+	  ctmp3[i+1]='\0';
+	}
+	else {
+	  break;
+	}
+      }
+      strncattrim(ctmp2,ctmp3,CMOR_MAX_STRING-strlen(ctmp2));
+    }
+    else { /*ok it didn't so we're using the value from the table */
+      strncattrim(ctmp2,cmor_tables[cmor_vars[var_id].ref_table_id].realm,CMOR_MAX_STRING-strlen(ctmp2));
+    }
+    strncattrim(ctmp2,"_",CMOR_MAX_STRING-strlen(ctmp2));
     
     /* now appends the part to the gridspec file */
     strncat(ctmp,"gridspecFile: ",CMOR_MAX_STRING-strlen(ctmp));
@@ -2095,7 +2095,9 @@ int cmor_write(int var_id,void *data, char type, char *suffix, int ntimes_passed
     /* strncat(ctmp3,"gridspec",CMOR_MAX_STRING-strlen(ctmp3)); */
     /* strncat(ctmp3,cmor_tables[cmor_vars[var_id].ref_table_id].table_id,CMOR_MAX_STRING-strlen(ctmp3)); */
     /* Put here code for gridspec name */
-    strncpy(ctmp3,"gridspec_fx_",CMOR_MAX_STRING);
+    strncpy(ctmp3,"gridspec_",CMOR_MAX_STRING);
+    strncat(ctmp3,ctmp2,CMOR_MAX_STRING-strlen(ctmp3));
+    strncat(ctmp3,"fx_",CMOR_MAX_STRING-strlen(ctmp3));
     cmor_get_cur_dataset_attribute("model_id",msg);
     for (i=0;i<strlen(msg);i++) {
       if (cmor_convert_char_to_hyphen(msg[i])==1) {

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/cmor.git



More information about the debian-science-commits mailing list